En teoría es una cosa fácil pero en la práctica no tira ni p'atrás.
Tengo un código que dibuja una especie de tablero de ajedrez:
void KKWorld::drawGrid()
{
const float size = 1.0f;
const float size2 = size/2.0f;
glDisable(GL_LIGHTING);
for(float i=-5; i <= 5; i += size)
for(float j=-5; j <= 5; j += size)
{
glBegin(GL_QUADS);
if(int(i+j) % 2)
glColor3f(1.0f, 1.0f, 1.0f);
else
glColor3f(0.0f, 0.0f, 0.0f);
glVertex3f(-size2 + i, 0.0f, -size2 + j);
glVertex3f( size2 + i, 0.0f, -size2 + j);
glVertex3f( size2 + i, 0.0f, size2 + j);
glVertex3f(-size2 + i, 0.0f, size2 + j);
glEnd();
}
glEnable(GL_LIGHTING);
}
Vale, no problemo, funciona de forma cojonuda.
El intríngulis está en que yo no quiero dibujar GL_QUADS, quiero un wireframe, para ello en teoría bastaría cambiar el GL_QUADS por un GL_TRIANGLE_STRIP, pero el nene no quiere funcionar, cuando lo canvio no dibuja nada.
¿Alguien sabe donde la estoy cagando?
Si no me equivoco y recuerdo mal...
hay alguna funcion para indicar que te dibuje en wireframe independiente del objecto.
Es decir, le decies que te haga un GL_QUAD i luego le dices wireframe...
en esta pagina de silicon graficos hay ejemplos de codigo en opengl, y hay uno de un ajedrez, a lo mejor te sirve:
http://www.sgi.com/software/opengl/example...les/glut/demos/talueg
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
luego para restaurarlo:
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
Pues ahora si que no lo entiendo. Si hago las pruevas con una esfera creada con quadrics funciona, pero si intento hacerlo con GL_QUADS o GL_TRIANGLES no tira :. Es mas, parece que dibujar GL_QUADS funciona bien (si no esta activado lo del PolygonMode) pero no consigo dibujar absolutamente nada que tenga GL_TRIANGLES. Y parece que este todo bien, la camara esta bien puesta, las normales esta bien, tengo el cullface desactivado, colores bien puestecitos...
Dependiendo de la primitiva que quieras dibujar tienes que indicar los vértices de uno u otro modo. El bucle que tienes te serviría para quads, pero no para triángulos. Éstos tienes que indicarlos de 3 en 3 vértices, o bien 4 y usar strips o fans.
Nada, lo he solucionado instalando los drivers de video anteriores. Ahora tira todo a la perfección.
No me quiero ni imaginar la tarjeta que tienes para que te funcione mal eso :sonriendo:
Es que tenia instalados unos drivers beta tope de guarris.