Share via


Função glPushClientAttrib

As funções glPushClientAttrib e glPopClientAttrib salvam e restauram grupos de variáveis de estado do cliente na pilha de atributos do cliente.

Sintaxe

void WINAPI glPushClientAttrib(
   GLbitfield mask
);

Parâmetros

mask

Uma máscara que indica quais atributos salvar. A seguir estão as constantes de máscara simbólica e seus estados de cliente OpenGL associados.

Valor Significado
GL_CLIENT_PIXEL_STORE_BIT
Atributos do modo de armazenamento de pixels.
GL_CLIENT_VERTEX_ARRAY_BIT
Atributos de matriz de vértice.
GL_CLIENT_ALL_ATTRIB_BITs
todos os atributos de estado do cliente empilháveis.

Retornar valor

Essa função não retorna um valor.

Códigos de erro

O código de erro a seguir pode ser recuperado pela função glGetError .

Nome Significado
GL_STACK_OVERFLOW
A função foi chamada enquanto a pilha de atributos do cliente estava cheia.

Comentários

A função glPushClientAttrib usa seu parâmetro mask para determinar quais grupos de variáveis de estado do cliente são salvos na pilha de atributos do cliente. Você pode usar o operador OR bit a bit para unir constantes simbólicas aceitas para definir bits e construir uma máscara.

A função glPopClientAttrib restaura os valores das variáveis de estado do cliente salvas pela última vez com glPushclientAttrib. As variáveis de estado do cliente não salvas anteriormente permanecem inalteradas. Enviar atributos por push para uma pilha completa de atributos de cliente ou remover atributos de uma pilha vazia define um sinalizador de erro e nenhuma outra alteração é feita no estado OpenGL. Por padrão, a pilha de atributos do cliente está vazia.

Alguns valores de estado do cliente OpenGL não podem ser salvos na pilha de atributos do cliente. Por exemplo, você não pode salvar os estados de seleção ou comentários na pilha de atributos do cliente. A profundidade da pilha de atributos do cliente é de pelo menos 16.

As funções glPushclientAttrib e glPopClientAttrib não são compiladas em listas de exibição, mas são executadas imediatamente.

As funções glPushClientAttrib e glPopClientAttrib só podem enviar por push e pop modos de armazenamento de pixels e estados do cliente da matriz de vértice. Você deve usar glPushAttrib e glPopAttrib para enviar por push e pop os estados que são mantidos no servidor.

Observação

As funções glPushClientAttrib e glPopClientAttrib só estão disponíveis no OpenGL versão 1.1 ou posterior.

As seguintes funções recuperam informações relacionadas a glPushClientAttrib e glPopClientAttrib:

glGet com GL_CLIENT_ATTRIB_STACK_DEPTH de argumento

glGet com GL_MAX_CLIENT_ATTRIB_STACK_DEPTH de argumento

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Gl.h
Biblioteca
Opengl32.lib
DLL
Opengl32.dll

Confira também

glColorPointer

glDisableClientState

glEdgeFlagPointer

glEnableClientState

glGet

glGetError

glIndexPointer

glNormalPointer

glNewList

glPixelStore

glPushAttrib

glTexCoordPointer

glVertexPointer