funzione glPushAttrib

Esegue il push dello stack di attributi.

Sintassi

void WINAPI glPushAttrib(
   GLbitfield mask
);

Parametri

Maschera

Maschera che indica gli attributi da salvare. Le costanti della maschera simbolica e il relativo stato OpenGL associato sono i seguenti (l'elenco dei paragrafi rientrati che vengono salvati):

GL_ACCUM_BUFFER_BIT

Valore di cancellazione buffer di accumulo

GL_COLOR_BUFFER_BIT

GL_ALPHA_TEST abilitare bit

Funzione di test alfa e valore di riferimento

GL_BLEND abilitare bit

Fusione di funzioni di origine e destinazione

GL_DITHER abilitare bit

impostazione GL_DRAW_BUFFER

GL_LOGIC_OP abilitare bit

Funzione op per la logica

Valori non crittografati in modalità colore e modalità indice

Maschera di scrittura in modalità colore e in modalità indice

GL_CURRENT_BIT

Colore RGBA corrente

Indice colore corrente

Vettore normale corrente

Coordinate correnti della trama

Flag di GL_CURRENT_RASTER_POSITION_VALID posizione raster corrente

Colore RGBA associato alla posizione raster corrente

Indice colore associato alla posizione raster corrente

Coordinate di trama associate alla posizione raster corrente

flag GL_EDGE_FLAG

GL_DEPTH_BUFFER_BIT

GL_DEPTH_TEST abilitare bit

Funzione di test del buffer di profondità

Valore di cancellazione del buffer di profondità

GL_DEPTH_WRITEMASK abilitare bit

GL_ENABLE_BIT

flag GL_ALPHA_TEST

flag GL_AUTO_NORMAL

flag GL_BLEND

Abilitare i bit per i piani di ritaglio definibili dall'utente

GL_COLOR_MATERIAL

flag GL_CULL_FACE

flag GL_DEPTH_TEST

flag GL_DITHER

flag GL_FOG

GL_LIGHTdove 0 <= i< GL_MAX_LIGHTS

flag GL_LIGHTING

flag GL_LINE_SMOOTH

flag GL_LINE_STIPPLE

flag GL_COLOR_LOGIC_OP

flag GL_INDEX_LOGIC_OP

GL_MAP1_x dove x è un tipo di mappa

GL_MAP2_x dove x è un tipo di mappa

flag GL_NORMALIZE

flag GL_POINT_SMOOTH

flag GL_POLYGON_OFFSET_LINE

flag GL_POLYGON_OFFSET_FILL

flag GL_POLYGON_OFFSET_POINT

flag GL_POLYGON_SMOOTH

flag GL_POLYGON_STIPPLE

flag GL_SCISSOR_TEST

flag GL_STENCIL_TEST

flag GL_TEXTURE_1D

flag GL_TEXTURE_2D

Flag GL_TEXTURE_GEN_x dove x è S, T, R o Q

GL_EVAL_BIT

GL_MAP1_x abilitare i bit, dove x è un tipo di mappa

GL_MAP2_x abilitare i bit, dove x è un tipo di mappa

Endpoint e divisioni griglia 1D

Endpoint e divisioni griglia 2D

GL_AUTO_NORMAL abilitare bit

GL_FOG_BIT

GL_FOG flag di abilitazione

Colore nebbia

Densità di nebbia

Inizio nebbia lineare

Estremità nebbia lineare

Indice nebbia

valore GL_FOG_MODE

GL_HINT_BIT

impostazione GL_PERSPECTIVE_CORRECTION_HINT

impostazione GL_POINT_SMOOTH_HINT

impostazione GL_LINE_SMOOTH_HINT

impostazione GL_POLYGON_SMOOTH_HINT

impostazione GL_FOG_HINT

GL_LIGHTING_BIT

GL_COLOR_MATERIAL abilitare bit

GL_COLOR_MATERIAL_FACE valore

Parametri del materiale colore che monitorano il colore corrente

Colore della scena ambientale

GL_LIGHT_MODEL_LOCAL_VIEWER valore

impostazione GL_LIGHT_MODEL_TWO_SIDE

GL_LIGHTING abilitare bit

Abilita bit per ogni luce

Intensità ambientale, diffusa e speculare per ogni luce

Direzione, posizione, esponente e angolo di taglio per ogni luce

Fattori di attenuazione costante, lineare e quadratica per ogni luce

Colore ambientale, diffuso, speculare ed emissivo per ogni materiale

Indici di colore ambientale, diffuso e speculare per ogni materiale

Esponente speculare per ogni impostazione GL_SHADE_MODEL materiale

GL_LINE_BIT

flag GL_LINE_SMOOTH

GL_LINE_STIPPLE abilitare bit

Modello di stipple linea e contatore di ripetizione

Spessore linea

GL_LIST_BIT

impostazione GL_LIST_BASE

GL_PIXEL_MODE_BIT

impostazioni di GL_RED_BIAS e di GL_RED_SCALE

valori 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

valori di GL_INDEX_OFFSET e di GL_INDEX_SHIFT

flag GL_MAP_COLOR e GL_MAP_STENCIL

fattori di GL_ZOOM_X e GL_ZOOM_Y

impostazione GL_READ_BUFFER

GL_POINT_BIT

flag GL_POINT_SMOOTH

Dimensioni dei punti

GL_POLYGON_BIT

GL_CULL_FACE abilitare bit

valore GL_CULL_FACE_MODE

indicatore GL_FRONT_FACE

impostazione GL_POLYGON_MODE

flag GL_POLYGON_SMOOTH

GL_POLYGON_STIPPLE abilitare bit

flag GL_POLYGON_OFFSET_FILL

flag GL_POLYGON_OFFSET_LINE

flag GL_POLYGON_OFFSET_POINT

GL_POLYGON_OFFSET_FACTOR

GL_POLYGON_OFFSET_UNITS

GL_POLYGON_STIPPLE_BIT

Immagine poligono stipple

GL_SCISSOR_BIT

flag GL_SCISSOR_TEST

Scatola di scissor

GL_STENCIL_BUFFER_BIT

GL_STENCIL_TEST abilitare bit

Funzione Stencil e valore di riferimento

Maschera valore stencil

Stencil ha esito negativo, passa e le azioni di passaggio del buffer di profondità

Valore di cancellazione buffer stencil

Maschera di scrittura buffer stencil

GL_TEXTURE_BIT

Abilitare i bit per le quattro coordinate della trama

Colore bordo per ogni immagine di trama

Funzione di minificazione per ogni immagine di trama

Funzione di ingrandimento per ogni immagine di trama

Coordinate della trama e modalità di ritorno a capo per ogni immagine di trama

Colore e modalità per ogni ambiente di trama

Abilita bit GL_TEXTURE_GEN_x; x è S, T, R e Q

GL_TEXTURE_GEN_MODE impostazione per S, T, R e Q

equazioni del piano glTexGen per S, T, R e Q

GL_TRANSFORM_BIT

Coefficienti dei sei piani di ritaglio

Abilitare i bit per i piani di ritaglio definibili dall'utente

valore GL_MATRIX_MODE

flag GL_NORMALIZE

GL_VIEWPORT_BIT

Intervallo di profondità (vicino e lontano)

Origine e extent del riquadro di visualizzazione

Valore restituito

Questa funzione non restituisce un valore.

Codici di errore

I codici di errore seguenti possono essere recuperati dalla funzione glGetError .

Nome Significato
GL_STACK_OVERFLOW
La funzione è stata chiamata mentre lo stack di attributi era pieno.
GL_INVALID_OPERATION
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd.

Commenti

La funzione glPushAttrib accetta un argomento, una maschera che indica quali gruppi di variabili di stato salvare nello stack di attributi. Le costanti simboliche vengono utilizzate per impostare i bit nella maschera. Il parametro mask viene in genere costruito applicando l'operazione OR logica a diverse di queste costanti. È possibile usare la maschera speciale GL_ALL_ATTRIB_BITS per salvare tutti gli stati impilabili.

La funzione glPopAttrib ripristina i valori delle variabili di stato salvate con l'ultimo comando glPushAttrib . Quelli non salvati vengono lasciati invariati.

Si tratta di un errore di push degli attributi in uno stack completo o di pop-off di uno stack vuoto. In entrambi i casi, il flag di errore viene impostato e non viene apportata alcuna altra modifica allo stato OpenGL.

Inizialmente, lo stack di attributi è vuoto.

Non tutti i valori per lo stato OpenGL possono essere salvati nello stack di attributi. Ad esempio, non è possibile salvare il pacchetto pixel e decomprimere lo stato, lo stato della modalità di rendering e lo stato di selezione e feedback.

La profondità dello stack di attributi dipende dall'implementazione, ma deve essere almeno 16.

Le funzioni seguenti recuperano informazioni correlate a glPushAttrib e glPopAttrib:

glGet con argomento GL_ATTRIB_STACK_DEPTH

glGet con argomento GL_MAX_ATTRIB_STACK_DEPTH

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Gl.h
Libreria
Opengl32.lib
DLL
Opengl32.dll

Vedi anche

glBegin

glEnd

glGet

glGetClipPlane

glGetError

glGetLight

glGetMap

glGetMaterial

glGetPixelMap

glGetPolygonStipple

glGetString

glGetTexEnv

glGetTexGen

glGetTexImage

glGetTexLevelParameter

glGetTexParameter

glIsEnabled