Função glPushAttrib

Envia por push a pilha de atributos.

Sintaxe

void WINAPI glPushAttrib(
   GLbitfield mask
);

Parâmetros

mask

Uma máscara que indica quais atributos salvar. As constantes de máscara simbólica e seu estado OpenGL associado são as seguintes (a lista de parágrafos recuados que os atributos são salvos):

GL_ACCUM_BUFFER_BIT

Valor de limpeza do buffer de acumulação

GL_COLOR_BUFFER_BIT

GL_ALPHA_TEST habilitar bit

Função de teste alfa e valor de referência

GL_BLEND habilitar bit

Mesclando funções de origem e destino

GL_DITHER habilitar bit

GL_DRAW_BUFFER configuração

GL_LOGIC_OP habilitar bit

Função de operação lógica

Valores claros do modo de cor e do modo de índice

Máscaras de gravação no modo de cor e no modo de índice

GL_CURRENT_BIT

Cor RGBA atual

Índice de cores atual

Vetor normal atual

Coordenadas de textura atuais

Sinalizador de GL_CURRENT_RASTER_POSITION_VALID de posição de varredura atual

Cor RGBA associada à posição atual do varredura

Índice de cores associado à posição de varredura atual

Coordenadas de textura associadas à posição atual do varredura

sinalizador GL_EDGE_FLAG

GL_DEPTH_BUFFER_BIT

GL_DEPTH_TEST habilitar bit

Função de teste de buffer de profundidade

Valor de limpeza do buffer de profundidade

GL_DEPTH_WRITEMASK habilitar bit

GL_ENABLE_BIT

sinalizador GL_ALPHA_TEST

sinalizador GL_AUTO_NORMAL

sinalizador GL_BLEND

Habilitar bits para os planos de recorte definíveis pelo usuário

GL_COLOR_MATERIAL

sinalizador GL_CULL_FACE

sinalizador GL_DEPTH_TEST

sinalizador GL_DITHER

sinalizador GL_FOG

GL_LIGHTi em que 0 <= i< GL_MAX_LIGHTS

sinalizador GL_LIGHTING

sinalizador GL_LINE_SMOOTH

sinalizador GL_LINE_STIPPLE

sinalizador GL_COLOR_LOGIC_OP

sinalizador GL_INDEX_LOGIC_OP

GL_MAP1_x em que x é um tipo de mapa

GL_MAP2_x em que x é um tipo de mapa

sinalizador GL_NORMALIZE

sinalizador GL_POINT_SMOOTH

sinalizador GL_POLYGON_OFFSET_LINE

sinalizador GL_POLYGON_OFFSET_FILL

sinalizador GL_POLYGON_OFFSET_POINT

sinalizador GL_POLYGON_SMOOTH

sinalizador GL_POLYGON_STIPPLE

sinalizador GL_SCISSOR_TEST

sinalizador GL_STENCIL_TEST

sinalizador GL_TEXTURE_1D

sinalizador GL_TEXTURE_2D

Sinalizadores GL_TEXTURE_GEN_x em que x é S, T, R ou Q

GL_EVAL_BIT

GL_MAP1_x habilitar bits, em que x é um tipo de mapa

GL_MAP2_x habilitar bits, em que x é um tipo de mapa

Pontos de extremidade e divisões de grade 1D

Pontos de extremidade e divisões de grade 2D

GL_AUTO_NORMAL habilitar bit

GL_FOG_BIT

GL_FOG habilitar sinalizador

Cor da neblina

Densidade de neblina

Início da neblina linear

Fim da neblina linear

Índice de neblina

GL_FOG_MODE valor

GL_HINT_BIT

configuração de GL_PERSPECTIVE_CORRECTION_HINT

GL_POINT_SMOOTH_HINT configuração

GL_LINE_SMOOTH_HINT configuração

GL_POLYGON_SMOOTH_HINT configuração

GL_FOG_HINT configuração

GL_LIGHTING_BIT

GL_COLOR_MATERIAL habilitar bit

GL_COLOR_MATERIAL_FACE valor

Parâmetros de material de cor que estão acompanhando a cor atual

Cor da cena ambiente

GL_LIGHT_MODEL_LOCAL_VIEWER valor

configuração de GL_LIGHT_MODEL_TWO_SIDE

GL_LIGHTING habilitar bit

Habilitar bit para cada luz

Intensidade ambiente, difusa e especular para cada luz

Direção, posição, expoente e ângulo de corte para cada luz

Fatores de atenuação constantes, lineares e quadráticos para cada luz

Cor ambiente, difusa, especular e emissiva para cada material

Índices de cor ambiente, difuso e especular para cada material

Expoente especular para cada material GL_SHADE_MODEL configuração

GL_LINE_BIT

sinalizador GL_LINE_SMOOTH

GL_LINE_STIPPLE habilitar bit

Padrão de dica de linha e contador de repetição

Largura da linha

GL_LIST_BIT

GL_LIST_BASE configuração

GL_PIXEL_MODE_BIT

configurações de GL_RED_BIAS e GL_RED_SCALE

valores de GL_GREEN_BIAS e GL_GREEN_SCALE

GL_BLUE_BIAS e GL_BLUE_SCALE

GL_ALPHA_BIAS e GL_ALPHA_SCALE

GL_DEPTH_BIAS e GL_DEPTH_SCALE

valores de GL_INDEX_OFFSET e GL_INDEX_SHIFT

sinalizadores GL_MAP_COLOR e GL_MAP_STENCIL

fatores GL_ZOOM_X e GL_ZOOM_Y

GL_READ_BUFFER configuração

GL_POINT_BIT

sinalizador GL_POINT_SMOOTH

Tamanho do ponto

GL_POLYGON_BIT

GL_CULL_FACE habilitar bit

GL_CULL_FACE_MODE valor

indicador GL_FRONT_FACE

GL_POLYGON_MODE configuração

sinalizador GL_POLYGON_SMOOTH

GL_POLYGON_STIPPLE habilitar bit

sinalizador GL_POLYGON_OFFSET_FILL

sinalizador GL_POLYGON_OFFSET_LINE

sinalizador GL_POLYGON_OFFSET_POINT

GL_POLYGON_OFFSET_FACTOR

GL_POLYGON_OFFSET_UNITS

GL_POLYGON_STIPPLE_BIT

Imagem de dica de polígono

GL_SCISSOR_BIT

sinalizador GL_SCISSOR_TEST

Caixa de tesoura

GL_STENCIL_BUFFER_BIT

GL_STENCIL_TEST habilitar bit

Função de estêncil e valor de referência

Máscara de valor de estêncil

Ações de passagem de buffer de profundidade, de passagem de passagem de estêncil e de passagem de estêncil

Valor claro do buffer de estêncil

Máscara de gravação do buffer de estêncil

GL_TEXTURE_BIT

Habilitar bits para as quatro coordenadas de textura

Cor da borda para cada imagem de textura

Função de minificação para cada imagem de textura

Função de ampliação para cada imagem de textura

Coordenadas de textura e modo de encapsulamento para cada imagem de textura

Cor e modo para cada ambiente de textura

Habilitar bits GL_TEXTURE_GEN_x; x é S, T, R e Q

GL_TEXTURE_GEN_MODE configuração para S, T, R e Q

equações de plano glTexGen para S, T, R e Q

GL_TRANSFORM_BIT

Coeficientes dos seis planos de recorte

Habilitar bits para os planos de recorte definíveis pelo usuário

GL_MATRIX_MODE valor

sinalizador GL_NORMALIZE

GL_VIEWPORT_BIT

Intervalo de profundidade (próximo e distante)

Origem e extensão do visor

Retornar valor

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

Códigos de erro

Os códigos de erro a seguir podem ser recuperados pela função glGetError .

Nome Significado
GL_STACK_OVERFLOW
A função foi chamada enquanto a pilha de atributos estava cheia.
GL_INVALID_OPERATION
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd.

Comentários

A função glPushAttrib usa um argumento, uma máscara que indica quais grupos de variáveis de estado salvar na pilha de atributos. Constantes simbólicas são usadas para definir bits na máscara. O parâmetro mask normalmente é construído aplicando a operação OR lógica a várias dessas constantes. Você pode usar a máscara especial GL_ALL_ATTRIB_BITS para salvar todos os estados empilháveis.

A função glPopAttrib restaura os valores das variáveis de estado salvas com o último comando glPushAttrib . Aqueles não salvos permanecem inalterados.

É um erro enviar atributos por push para uma pilha completa ou colocar atributos em uma pilha vazia. Em ambos os casos, o sinalizador de erro é definido e nenhuma outra alteração é feita no estado OpenGL.

Inicialmente, a pilha de atributos está vazia.

Nem todos os valores para o estado OpenGL podem ser salvos na pilha de atributos. Por exemplo, você não pode salvar o pacote de pixels e desempacotar o estado, renderizar o estado do modo e selecionar e o estado de comentários.

A profundidade da pilha de atributos depende da implementação, mas deve ser pelo menos 16.

As seguintes funções recuperam informações relacionadas a glPushAttrib e glPopAttrib:

glGet com GL_ATTRIB_STACK_DEPTH de argumento

glGet com GL_MAX_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

glBegin

glEnd

glGet

glGetClipPlane

glGetError

glGetLight

glGetMap

glGetMaterial

glGetPixelMap

glGetPolygonStipple

glGetString

glGetTexEnv

glGetTexGen

glGetTexImage

glGetTexLevelParameter

glGetTexParameter

glIsEnabled