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 |
---|---|
|
Se llamó a la función mientras la pila de atributos estaba llena. |
|
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 |
|
Biblioteca |
|
Archivo DLL |
|