我的文件结构为
现在我想使用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();
}
但是当我尝试在我的file1.cpp中使用glCallList(index)
时,屏幕上没有任何内容。
答案 0 :(得分:1)
a)您不应使用显示列表。 OpenGL-2已经弃用了显示列表(OpenGL-2的第一个草稿完全删除了它们),并且已从OpenGL-3及更高版本中删除。
b)要创建显示列表,需要在当前线程上激活有效的OpenGL上下文。我假设您在存在OpenGL上下文之前调用genDisplayLists
,例如,如果它们是由全局范围对象实例的构造函数调用的。