glPopAttrib 函数

弹出属性堆栈。

语法

void WINAPI glPopAttrib(void);

parameters

此函数没有参数。

返回值

此函数不返回值。

错误代码

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

名称 含义
GL_STACK_UNDERFLOW
函数是在属性堆栈为空时调用的。
GL_INVALID_OPERATION
函数是在 对 glBegin 的调用和对 glEnd 的相应调用之间调用的。

备注

glPushAttrib 函数采用一个参数,一个掩码,指示在属性堆栈上保存哪些状态变量组。 符号常量用于在掩码中设置位。 掩码参数通常是通过 OR将其中几个常量组合在一起构造的。 特殊掩码GL_ALL_ATTRIB_BITS可用于保存所有可堆叠状态。

glPopAttrib 函数还原使用最后一个 glPushAttrib 命令保存的状态变量的值。 未保存的将保持不变。

将属性推送到完整堆栈或从空堆栈中弹出属性是错误的。 在任一情况下,都设置了错误标志,并且不会对 OpenGL 状态进行其他更改。

最初,属性堆栈为空。

并非 OpenGL 状态的所有值都可以保存在属性堆栈上。 例如,无法保存像素包和解压缩状态、呈现模式状态以及选择和反馈状态。

属性堆栈的深度取决于实现,但它必须至少为 16。

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

带参数GL_ATTRIB_STACK_DEPTH的 glGet

带参数GL_MAX_ATTRIB_STACK_DEPTH的 glGet

要求

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

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glBegin

glEnd

glGet

glGetClipPlane

glGetError

glGetLight

glGetMap

glGetMaterial

glGetPixelMap

glGetPolygonStipple

glGetString

glGetTexEnv

glGetTexGen

glGetTexImage

glGetTexLevelParameter

glGetTexParameter

glIsEnabled