Функция glPopAttrib

Выводит стек атрибутов.

Синтаксис

void WINAPI glPopAttrib(void);

Параметры

У этой функции нет параметров.

Возвращаемое значение

Эта функция не возвращает значение.

Коды ошибок

Следующие коды ошибок могут быть получены функцией glGetError .

Имя Значение
GL_STACK_UNDERFLOW
Функция была вызвана, когда стек атрибутов был пустым.
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Функция glPushAttrib принимает один аргумент, маску, которая указывает, какие группы переменных состояния следует сохранить в стеке атрибутов. Символьные константы используются для задания битов в маске. Параметр mask обычно создается с помощью метода OR, объединяющего несколько этих констант. Специальные GL_ALL_ATTRIB_BITS маски можно использовать для сохранения всех состояний стека.

Функция glPopAttrib восстанавливает значения переменных состояния, сохраненных с помощью последней команды glPushAttrib . Те, которые не сохранены, остаются без изменений.

Отправка атрибутов в полный стек или извлечение атрибутов из пустого стека является ошибкой. В любом случае флаг ошибки установлен, и никакие другие изменения в состояние OpenGL не вносятся.

Изначально стек атрибутов пуст.

Не все значения состояния OpenGL можно сохранить в стеке атрибутов. Например, нельзя сохранить состояние пакета пикселей и распаковки, состояние режима отрисовки, состояние выбора и обратной связи.

Глубина стека атрибутов зависит от реализации, но она должна быть не менее 16.

Следующие функции извлекают сведения, связанные с glPushAttrib и glPopAttrib:

glGet с аргументом GL_ATTRIB_STACK_DEPTH

glGet с аргументом GL_MAX_ATTRIB_STACK_DEPTH

Требования

Требование Значение
Минимальная версия клиента
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