Объявление всех списков отображения в заголовочном файле opengl

У меня есть файловая структура как

  • display_list.hpp
  • display_list.cpp
  • file1.cpp

Теперь я хочу использовать один из списка отображения в file1.cpp.

мой display_list.hpp похоже

extern GLuint index;
void genDisplayList();

затем display_list.cpp похоже

GLuint index = glGenLists(1);
void genDisplayList(){
glNewList(index, GL_COMPILE);
glBegin(GL_POLYGON);
/*..vertex for polygon...*/
glEnd();
glEndList();
}

Но когда я пытался использовать glCallList(index) в мой file1.cpp я ничего не нарисовал на экране.

-1

Решение

а) Вы не должны использовать списки отображения. Списки отображения устарели в OpenGL-2 (первые черновики для OpenGL-2 полностью их удалили) и были удалены из OpenGL-3 и более поздних версий.

б) Для создания списка отображения действительный контекст OpenGL должен быть активным в текущем потоке. Я полагаю, ты звонишь genDisplayLists до появления контекста OpenGL, например, если они вызываются конструктором экземпляра объекта глобальной области видимости.

1

Другие решения


По вопросам рекламы [email protected]