Tengo muy, muy extraño problema en mi C++ OpenGL aplicación.OpenGL textura aleatoriamente no se muestra
simplemente me carga una textura y aplicarlo a una cuádrica:
glGenTextures(1, &tex);
glBindTexture(GL_TEXTURE_2D, tex);
glTexImage2D(GL_TEXTURE_2D, 0, 3, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
Entonces
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, tex);
gluQuadricDrawStyle(quad,GLU_FILL);
gluQuadricTexture(quad,GL_TRUE);
gluCylinder(quad,1,0,2,20,1);
glDisable(GL_TEXTURE_2D);
Ahora: funciona perfectamente 9 de cada diez veces, pero a veces no se muestra la textura (el cuadriculado se mantiene blanco).
El image
está cargado correctamente, por lo que el problema debería ser con OpenGL. Lo he intentado con varias imágenes diferentes también. Siempre GL_NO_ERROR
.
¿Alguna idea? Me está volviendo loco ...
un poco tonto, pero en los momentos en los que no se carga, si minimiza entonces maximizar la ventana, aparece? – Robb
No, no se carga, incluso si minimizo/maximizo. – TheDude
¿Puedes probarlo en una PC diferente o con diferentes controladores? –