У меня очень, очень странная проблема в моем C ++ OpenGL приложении.
Я просто загружаю текстуру и применяю ее к квадрике:
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);
Тогда
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);
Теперь: он отлично работает 9 раз из десяти, но иногда текстура не отображается (квадрика остается белой).
image
загружен правильно, поэтому проблема должна быть с OpenGL. Я пробовал с несколькими разными изображениями тоже. Всегда GL_NO_ERROR
.
Есть идеи? Это сводит меня с ума ...