glPushClientAttrib 函数
glPushClientAttrib 和 glPopClientAttrib 函数在 client-attribute 堆栈上保存和还原客户端状态变量组。
语法
void WINAPI glPushClientAttrib(
GLbitfield mask
);
参数
-
mask
-
指示要保存的属性的掩码。 下面是符号掩码常量及其关联的 OpenGL 客户端状态。
值 含义 - GL_CLIENT_PIXEL_STORE_BIT
像素存储模式属性。 - GL_CLIENT_VERTEX_ARRAY_BIT
顶点数组属性。 - GL_CLIENT_ALL_ATTRIB_BITs
所有可堆叠的客户端状态属性。
返回值
此函数不返回值。
错误代码
glGetError 函数可以检索以下错误代码。
名称 | 含义 |
---|---|
|
在客户端属性堆栈已满时调用了函数。 |
备注
glPushClientAttrib 函数使用其 mask 参数来确定哪些客户端状态变量组保存在 client-attribute 堆栈上。 可以使用按位 OR 运算符将接受的符号常量联接在一起,以设置位并构造掩码。
glPopClientAttrib 函数还原上次使用 glPushclientAttrib 保存的客户端状态变量的值。 以前未保存的客户端状态变量保持不变。 将属性推送到完整的客户端属性堆栈或从空堆栈中弹出属性将设置错误标志,并且不会对 OpenGL 状态进行任何其他更改。 默认情况下,客户端属性堆栈为空。
某些 OpenGL 客户端状态值不能保存在 client-attribute 堆栈上。 例如,不能在客户端属性堆栈上保存选择或反馈状态。 客户端属性堆栈的深度至少为 16。
glPushclientAttrib 和 glPopClientAttrib 函数不会编译为显示列表,而是立即执行。
glPushClientAttrib 和 glPopClientAttrib 函数只能推送和弹出像素存储模式和顶点数组客户端状态。 必须使用 glPushAttrib 和 glPopAttrib 推送和弹出服务器上保留的状态。
注意
glPushClientAttrib 和 glPopClientAttrib 函数仅在 OpenGL 版本 1.1 或更高版本中可用。
以下函数检索与 glPushClientAttrib 和 glPopClientAttrib 相关的信息:
带参数GL_CLIENT_ATTRIB_STACK_DEPTH的 glGet
带参数GL_MAX_CLIENT_ATTRIB_STACK_DEPTH的 glGet
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|