glNewList 函数
glNewList 和 glEndList 函数创建或替换显示列表。
void WINAPI glNewList(
GLuint list,
GLenum mode
);
-
list
-
显示列表名称。
-
mode
-
编译模式。 接受以下值。
值 含义 - GL_COMPILE
命令只是编译的。 - GL_COMPILE_AND_EXECUTE
命令在编译到显示列表中时执行。
此函数不返回值。
glGetError 函数可以检索以下错误代码。
名称 | 含义 |
---|---|
|
list 为零。 |
|
mode 不是接受的值。 |
|
在对 glBegin 的调用和对 glEnd 的相应调用之间调用了函数。 |
显示列表是已存储以供后续执行的 OpenGL 命令组。 显示列表是使用 glNewList 创建的。 所有后续命令都按发出的顺序放置在显示列表中,直到调用 glEndList 。
glNewList 函数有两个参数。 第一个参数 list 是一个正整数,它成为显示列表的唯一名称。 可以使用 glGenLists 创建和保留名称,并使用 glIsList 测试其唯一性。 第二个参数 mode 是可以假定上述两个值之一的符号常量。
某些命令不会编译到显示列表中,但会立即执行,而不考虑显示列表模式。 这些命令为 glColorPointer, glDeleteLists、 glDisableClientState、 glEdgeFlagPointer、 glEnableClientState、 glFeedbackBuffer、 glFinish、 glFlush、 glGenLists、 glIndexPointer、 glInterleavedArrays、 glIsEnabled、 glIsList、 glNormalPointer、 glPopClientAttrib、 glPixelStore、 glPushClientAttrib、 glReadPixels、 glRenderMode、 glSelectBuffer、 glTexCoordPointer、 glVertexPointer 和所有 glGet 例程。
同样, 当 glTexImage2D 和 glTexImage1D 分别GL_PROXY_TEXTURE_2D或GL_PROXY_TEXTURE_1D时,会立即执行,并且不会编译到显示列表中。
遇到 glEndList 函数时,通过将列表与 glNewList 命令中指定的唯一名称列表 (关联) 来完成显示列表定义。 如果已存在具有名称列表的显示 列表 ,则仅在调用 glEndList 时替换该列表。
glCallList 和 glCallLists 函数可以输入到显示列表中。 显示列表中或 由 glCallList 或 glCallLists 执行的列表中的命令不包括在所创建的显示列表中,即使列表创建模式GL_COMPILE_AND_EXECUTE也是如此。
以下函数检索 与 glNewList 相关的信息:
带参数GL_MATRIX_MODE的 glGet
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|