在opengl中,显示列表可以加快程序的速度,而且可以减少代码的长度。现在就来学习opengl中的
显示列表的一些函数的使用。
1.首先要建立n个显示列表空间。使用的函数是theTorus=glGenLists(n),表示建立了两个显示
列表的空间并返回第一个显示列表的指针。theTorus表示指向第一个显示列表,任何时候
调用theTorus,第一个显示列表就会显示出来。
2.显示列表空间已经建立好了,然后就开始构造显示列表,也就是说我们应该告诉opengl要
建立什么类型的显示列表。使用的函数是glNewList()。
其函数原型:
void glNewList(GLuint list,GLenum mode);
参数:list 指定显示列表的名称,也就是1中的 theTorus
mode 指定编译模式,可GL_COMPILE或GL_COMPILE_AND_EXECUTE。
其中GL_COMPILE表示列表中命令只是编译
GL_COMPILE_AND_EXECUTE表示编译成执行命令显示列表。
3.显示列表构造好了后,就可以在此列表中显示目标图形,然后还要声明显示列表建立完成。
使用的函数为glEndList。其原型为void glEndList(void);
其作用是:当glEndList遇到关联的唯一名称列表(在glNewList命令中指定)列表,显示列表
定义完成。如果已经存在一个名称列表中的显示列表,它会被替换。
4.最后就是执行列表,用的函数就是glCallList,其原型为
void WINAPI glCallList(GLuint list);其中list表示显示列表空间名称,也就是上面的theTorus。