Поделиться через


Функция glPopClientAttrib

Функции glPushClientAttrib и glPopClientAttrib сохраняют и восстанавливают группы переменных состояния клиента в стеке атрибутов клиента.

Синтаксис

void WINAPI glPopClientAttrib(void);

Параметры

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

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

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

Коды ошибок

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

Имя Значение
GL_STACK_OVERFLOW
Функция была вызвана, когда стек атрибутов клиента был заполнен.

Комментарии

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

Функция glPopClientAttrib восстанавливает значения переменных состояния клиента, которые были сохранены с помощью glPushclientAttrib. Переменные состояния клиента, не сохраненные ранее, остаются без изменений. Отправка атрибутов в полный стек атрибутов клиента или извлечение атрибутов из пустого стека устанавливает флаг ошибки, и никакие другие изменения не вносятся в состояние OpenGL. По умолчанию стек атрибутов клиента пуст.

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

Функции glPushclientAttrib и glPopClientAttrib не компилируются в списки отображения, а выполняются немедленно.

Функции glPushClientAttrib и glPopClientAttrib могут использовать только режимы хранения пикселей push и pop и состояния клиента массива вершин. Необходимо использовать glPushAttrib и glPopAttrib для отправки и всплывающих состояний, которые хранятся на сервере.

Примечание

Функции glPushClientAttrib и glPopClientAttrib доступны только в OpenGL версии 1.1 или более поздней.

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

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

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

Требования

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