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 |
---|---|
|
La funzione è stata chiamata mentre lo stack di attributi era pieno. |
|
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 |
|
Libreria |
|
DLL |
|