glNewList 函数

glNewListglEndList函数创建或替换显示列表。

语法

void WINAPI glNewList(
   GLuint list,
   GLenum mode
);

parameters

list

显示列表名称。

mode

编译模式。 接受以下值。

含义
GL _ COMPILE
命令仅编译。
GL _ _ 编译 _ 和执行
命令在编译到显示列表中时执行。

返回值

此函数不返回值。

错误代码

glGetError函数可以检索以下错误代码。

名称 含义
GL _ 无效 _ 值
list 为零。
GL _ 无效 _ 枚举
mode 不是接受的值。
GL _ 无效 _ 操作
函数是在对 glBegin 的调用与对 glEnd 的相应调用 之间调用的

备注

显示列表是已存储供后续执行的 OpenGL 命令组。 显示列表是使用 glNewList 创建的。 所有后续命令都按发出的顺序放置在显示列表中,直到 调用 glEndList。

glNewList 函数有两个参数。 第一个参数 list 是一个正整数,它将成为显示列表的唯一名称。 可以使用 glGenList 创建 和保留名称,并测试 glIsList 的唯一性。 第二个参数 模式 是一个符号常量,可以假定上述两个值之一。

某些命令不会编译到显示列表中,而是立即执行,而不考虑显示列表模式。 这些命令包括 glColorPointer、glDeleteLists、glDisableClientState、glEdgeFlagPointer、glEnableClientState、glFeedbackBuffer、glFinish、glFlush、glGenLists、glIndexPointer、glInterleavedArrays、glIsEnabled 、 glIsList、glNormalPointer、glPopClientAttrib、glPixelStore、glPushClientAttrib、glReadPixels、glRenderMode、glSelectBuffer、glTexCoordPointer、glVertexPointer以及 所有 glGet 例程

同样, 当 glTexImage2DglTexImage1D 的第一个参数分别为 GL _ PROXY TEXTURE 2D 或 GL PROXY TEXTURE _ _ _ _ _ 1D 时,它们会立即执行,不会编译到显示列表中。

遇到 glEndList 函数时,通过将列表与 glNewList 命令中指定的唯一名称 (列表相关联,完成显示列表) 。 如果已存在具有名称列表 显示列表,则仅在 调用 glEndList 时替换 它。

glCallListglCallLists函数可以输入到显示列表中。 显示列表中的命令或 glCallList 或 glCallLists 执行的命令不包括在要创建的显示列表中,即使列表创建模式为 GL COMPILE AND _ _ _ EXECUTE。

以下函数检索与 glNewList 有关的信息

glGet 与参数 GL _ MATRIX _ MODE

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Gl.h

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glBegin

glCallList

glCallLists

glDeleteLists

glEnd

glEndList

glGenLists

glIsList