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


Функция glPushClientAttrib

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

Синтаксис

void WINAPI glPushClientAttrib(
   GLbitfield mask
);

Параметры

mask

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

Значение Значение
GL_CLIENT_PIXEL_STORE_BIT
Атрибуты режима хранения пикселей.
GL_CLIENT_VERTEX_ARRAY_BIT
Атрибуты массива вершин.
GL_CLIENT_ALL_ATTRIB_BITs
все атрибуты состояния клиента, доступные для стеков.

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

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

Коды ошибок

Следующий код ошибки может быть получен функцией 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