glPopClientAttrib 函数

glPushClientAttribglPopClientAttrib 函数保存和还原客户端属性堆栈上的客户端状态变量组。

语法

void WINAPI glPopClientAttrib(void);

parameters

此函数没有参数。

返回值

此函数不返回值。

错误代码

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

名称 含义
GL_STACK_OVERFLOW
在客户端属性堆栈已满时调用函数。

备注

glPushClientAttrib 函数使用其 mask 参数来确定哪些客户端状态变量组保存在客户端属性堆栈上。 可以使用按位 OR 运算符将接受的符号常量联接在一起,以设置位并构造掩码。

glPopClientAttrib 函数还原上次使用 glPushclientAttrib 保存的客户端状态变量的值。 以前未保存的客户端状态变量保持不变。 将属性推送到完整的客户端属性堆栈或从空堆栈中弹出属性将设置错误标志,并且不会对 OpenGL 状态进行任何其他更改。 默认情况下,客户端属性堆栈为空。

某些 OpenGL 客户端状态值不能保存在客户端属性堆栈上。 例如,不能在客户端属性堆栈上保存选择或反馈状态。 客户端属性堆栈的深度至少为 16。

glPushclientAttribglPopClientAttrib 函数不会编译到显示列表中,而是立即执行。

glPushClientAttribglPopClientAttrib 函数只能推送和弹出像素存储模式以及顶点数组客户端状态。 必须使用 glPushAttribglPopAttrib 来推送和弹出服务器上保留的状态。

注意

glPushClientAttribglPopClientAttrib 函数仅在 OpenGL 版本 1.1 或更高版本中可用。

以下函数检索与 glPushClientAttribglPopClientAttrib 相关的信息:

带参数GL_CLIENT_ATTRIB_STACK_DEPTH的 glGet

带参数GL_MAX_CLIENT_ATTRIB_STACK_DEPTH的 glGet

要求

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

Opengl32.lib
DLL
Opengl32.dll

请参阅

glColorPointer

glDisableClientState

glEdgeFlagPointer

glEnableClientState

glGet

glGetError

glIndexPointer

glNormalPointer

glNewList

glPixelStore

glPushAttrib

glTexCoordPointer

glVertexPointer