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 |
---|---|
|
A função foi chamada enquanto a pilha de atributos estava cheia. |
|
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 |
|
Biblioteca |
|
DLL |
|