Función glPushAttrib

Inserta la pila de atributos.

Sintaxis

void WINAPI glPushAttrib(
   GLbitfield mask
);

Parámetros

mask

Máscara que indica qué atributos se van a guardar. Las constantes de máscara simbólica y su estado openGL asociado son las siguientes (la lista de párrafos con sangría que se guardan los atributos):

GL_ACCUM_BUFFER_BIT

Valor claro del búfer de acumulación

GL_COLOR_BUFFER_BIT

GL_ALPHA_TEST habilitar bit

Función de prueba alfa y valor de referencia

GL_BLEND habilitar bit

Combinar funciones de origen y destino

GL_DITHER habilitar bit

configuración de GL_DRAW_BUFFER

GL_LOGIC_OP habilitar bit

Función de operación lógica

Valores claros en modo de color e índice

Máscaras de escritura en modo de color e modo de índice

GL_CURRENT_BIT

Color RGBA actual

Índice de color actual

Vector normal actual

Coordenadas de textura actuales

Marca de GL_CURRENT_RASTER_POSITION_VALID de posición del ráster actual

Color RGBA asociado a la posición ráster actual

Índice de color asociado a la posición del ráster actual

Coordenadas de textura asociadas a la posición del ráster actual

marca de GL_EDGE_FLAG

GL_DEPTH_BUFFER_BIT

GL_DEPTH_TEST habilitar bit

Función de prueba de búfer de profundidad

Valor claro del búfer de profundidad

GL_DEPTH_WRITEMASK habilitar bit

GL_ENABLE_BIT

marca de GL_ALPHA_TEST

marca de GL_AUTO_NORMAL

marca de GL_BLEND

Habilitación de bits para los planos de recorte definibles por el usuario

GL_COLOR_MATERIAL

marca de GL_CULL_FACE

marca de GL_DEPTH_TEST

marca de GL_DITHER

marca de GL_FOG

GL_LIGHTi donde 0 <= i< GL_MAX_LIGHTS

marca de GL_LIGHTING

marca de GL_LINE_SMOOTH

marca de GL_LINE_STIPPLE

marca de GL_COLOR_LOGIC_OP

marca de GL_INDEX_LOGIC_OP

GL_MAP1_x donde x es un tipo de mapa

GL_MAP2_x donde x es un tipo de mapa

marca de GL_NORMALIZE

marca de GL_POINT_SMOOTH

marca de GL_POLYGON_OFFSET_LINE

marca de GL_POLYGON_OFFSET_FILL

marca de GL_POLYGON_OFFSET_POINT

marca de GL_POLYGON_SMOOTH

marca de GL_POLYGON_STIPPLE

marca de GL_SCISSOR_TEST

marca de GL_STENCIL_TEST

marca de GL_TEXTURE_1D

marca de GL_TEXTURE_2D

Marcas GL_TEXTURE_GEN_x donde x es S, T, R o Q

GL_EVAL_BIT

GL_MAP1_x habilitar bits, donde x es un tipo de mapa

GL_MAP2_x habilitar bits, donde x es un tipo de mapa

Puntos de conexión y divisiones de cuadrícula 1D

Puntos de conexión y divisiones de cuadrícula 2D

GL_AUTO_NORMAL habilitar bit

GL_FOG_BIT

GL_FOG marca de habilitación

Color de niebla

Densidad de niebla

Inicio de niebla lineal

Extremo de niebla lineal

Índice de niebla

GL_FOG_MODE valor

GL_HINT_BIT

configuración de GL_PERSPECTIVE_CORRECTION_HINT

configuración de GL_POINT_SMOOTH_HINT

configuración de GL_LINE_SMOOTH_HINT

configuración de GL_POLYGON_SMOOTH_HINT

configuración de GL_FOG_HINT

GL_LIGHTING_BIT

GL_COLOR_MATERIAL habilitar bit

GL_COLOR_MATERIAL_FACE valor

Parámetros de material de color que están realizando el seguimiento del color actual

Color de la escena ambiente

GL_LIGHT_MODEL_LOCAL_VIEWER valor

configuración de GL_LIGHT_MODEL_TWO_SIDE

GL_LIGHTING habilitar bit

Habilitar bit para cada luz

Intensidad ambiental, difusa y especular para cada luz

Dirección, posición, exponente y ángulo de corte para cada luz

Factores de atenuación constante, lineal y cuadrática para cada luz

Color ambiente, difuso, especular y emisivo para cada material

Índices de color ambiente, difuso y especular para cada material

Exponente especular para cada configuración de GL_SHADE_MODEL material

GL_LINE_BIT

marca de GL_LINE_SMOOTH

GL_LINE_STIPPLE habilitar bit

Patrón de esptippla de línea y contador de repetición

Ancho de línea

GL_LIST_BIT

configuración de GL_LIST_BASE

GL_PIXEL_MODE_BIT

configuración de GL_RED_BIAS y GL_RED_SCALE

valores de GL_GREEN_BIAS y GL_GREEN_SCALE

GL_BLUE_BIAS y GL_BLUE_SCALE

GL_ALPHA_BIAS y GL_ALPHA_SCALE

GL_DEPTH_BIAS y GL_DEPTH_SCALE

valores de GL_INDEX_OFFSET y GL_INDEX_SHIFT

marcas de GL_MAP_COLOR y GL_MAP_STENCIL

GL_ZOOM_X y factores de GL_ZOOM_Y

configuración de GL_READ_BUFFER

GL_POINT_BIT

marca de GL_POINT_SMOOTH

Tamaño del punto

GL_POLYGON_BIT

GL_CULL_FACE habilitar bit

GL_CULL_FACE_MODE valor

indicador de GL_FRONT_FACE

configuración de GL_POLYGON_MODE

marca de GL_POLYGON_SMOOTH

GL_POLYGON_STIPPLE habilitar bit

marca de GL_POLYGON_OFFSET_FILL

marca de GL_POLYGON_OFFSET_LINE

marca de GL_POLYGON_OFFSET_POINT

GL_POLYGON_OFFSET_FACTOR

GL_POLYGON_OFFSET_UNITS

GL_POLYGON_STIPPLE_BIT

Imagen de stipple de polígono

GL_SCISSOR_BIT

marca de GL_SCISSOR_TEST

Cuadro tijera

GL_STENCIL_BUFFER_BIT

GL_STENCIL_TEST habilitar bit

Función de galería de símbolos y valor de referencia

Máscara de valor de galería de símbolos

Error de galería de símbolos, pasos y acciones de paso del búfer de profundidad

Valor claro del búfer de galería de símbolos

Máscara de escritura del búfer de galería de símbolos

GL_TEXTURE_BIT

Habilitación de bits para las cuatro coordenadas de textura

Color del borde de cada imagen de textura

Función Minification para cada imagen de textura

Función de ampliación para cada imagen de textura

Coordenadas de textura y modo de ajuste para cada imagen de textura

Color y modo para cada entorno de textura

Habilitar bits GL_TEXTURE_GEN_x; x es S, T, R y Q

GL_TEXTURE_GEN_MODE configuración para S, T, R y Q

ecuaciones de plano glTexGen para S, T, R y Q

GL_TRANSFORM_BIT

Coeficientes de los seis planos de recorte

Habilitación de bits para los planos de recorte definibles por el usuario

GL_MATRIX_MODE valor

marca de GL_NORMALIZE

GL_VIEWPORT_BIT

Intervalo de profundidad (cerca y lejos)

Origen y extensión de la ventanilla

Valor devuelto

Esta función no devuelve ningún valor.

Códigos de error

La función glGetError puede recuperar los siguientes códigos de error.

Nombre Significado
GL_STACK_OVERFLOW
Se llamó a la función mientras la pila de atributos estaba llena.
GL_INVALID_OPERATION
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd.

Observaciones

La función glPushAttrib toma un argumento, una máscara que indica qué grupos de variables de estado se van a guardar en la pila de atributos. Las constantes simbólicas se usan para establecer bits en la máscara. Normalmente, el parámetro mask se construye aplicando la operación OR lógica a varias de estas constantes. Puede usar la máscara especial GL_ALL_ATTRIB_BITS para guardar todos los estados apilables.

La función glPopAttrib restaura los valores de las variables de estado guardadas con el último comando glPushAttrib . Los que no se guardan se dejan sin cambios.

Es un error insertar atributos en una pila completa o quitar atributos de una pila vacía. En cualquier caso, se establece la marca de error y no se realiza ningún otro cambio en el estado openGL.

Inicialmente, la pila de atributos está vacía.

No todos los valores del estado openGL se pueden guardar en la pila de atributos. Por ejemplo, no puede guardar el paquete de píxeles y desempaquetar el estado, el estado del modo de representación y seleccionar y el estado de comentarios.

La profundidad de la pila de atributos depende de la implementación, pero debe ser al menos 16.

Las siguientes funciones recuperan información relacionada con glPushAttrib y glPopAttrib:

glGet con GL_ATTRIB_STACK_DEPTH de argumentos

glGet con GL_MAX_ATTRIB_STACK_DEPTH de argumentos

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Gl.h
Biblioteca
Opengl32.lib
Archivo DLL
Opengl32.dll

Consulte también

glBegin

glEnd

glGet

glGetClipPlane

glGetError

glGetLight

glGetMap

glGetMaterial

glGetPixelMap

glGetPolygonStipple

glGetString

glGetTexEnv

glGetTexGen

glGetTexImage

glGetTexLevelParameter

glGetTexParameter

glIsEnabled