У меня есть простое приложение OpenGL, в котором на экране отображаются 2 объекта:
1) система частиц, где каждая частица отображается на текстуру с помощью вызова glTexImage2D (). В функции drawEvent я рисую его как GL_TRIANGLE_STRIP с 4 glVertex3f.
2) трехмерный текст загружается из объектного файла, где каждая точка загружается с использованием glNewList / glGenLists и сохраняет каждую точку как glVertex. Я рисую это, вызывая glCallList.
Проблема в том, что как только я вызову glTexImage2D () для сопоставления моей частицы с файлом .bmp, трехмерный текст не будет отображаться на экране. Частица будет выглядеть хорошо. (этого не ожидается)
Если я не вызываю glTexImage2D, я вижу и 3D текст, и систему частиц. В этом случае система частиц выглядит ужасно, потому что я не текстурировал карту ни с чем. (это ожидается)
Кто-нибудь знает, почему использование списка вызовов и glTexImage2D может конфликтовать друг с другом?
РЕДАКТИРОВАТЬ я также забыл упомянуть: я вызываю glBindTexture (GL_TEXTURE_2D, this-> texture); внутри drawLoop до вызова системы частиц.
EDIT2 я вызываю glTexImage2D () только один раз при запуске системы (когда я наносил текстуру на растровое изображение)