Bezeichnung
gl.PushAttrib -- verschiebt den Server-Attributstapel
Übersicht
gl.PushAttrib(mask)
Beschreibung
gl.PushAttrib() verwendet eine Maske als Argument, die angibt, welche Gruppen von Statusvariablen im Attributstapel gespeichert werden sollen. Symbolische Konstanten werden verwendet, um Bits in der Maske zu setzen. Die Maske wird typischerweise durch O-Ring aus mehreren dieser Konstanten zusammengesetzt. Die spezielle Maske #GL_ALL_ATTRIB_BITS kann verwendet werden, um alle stapelbaren Zustände zu speichern.

Die symbolischen Maskenkonstanten und der damit verbundene GL-Status sind wie folgt:

#GL_ACCUM_BUFFER_BIT
Löschwert des Akkumulationspuffer

#GL_COLOR_BUFFER_BIT
#GL_ALPHA_TEST Freigabebit

Alpha-Testfunktion und Referenzwert

#GL_BLEND Freigabebit

Zusammenführung von Quell- und Zielfunktionen

Konstante Mischfarbe

Mischungsgleichung

#GL_DITHER Freigabebit

#GL_DRAW_BUFFER Einstellung

#GL_COLOR_LOGIC_OP Freigabebit

#GL_INDEX_LOGIC_OP Freigabebit

Logik-Op-Funktion

Farbmodus und Indexmodus Werte löschen

Farbmodus- und Indexmodus-Schreibmasken

#GL_CURRENT_BIT
Aktuelle RGBA-Farbe

Aktueller Farbindex

Aktueller Standardvektor

Aktuelle Texturkoordinaten

Aktuelle Rasterposition

#GL_CURRENT_RASTER_POSITION_VALID Flag

RGBA-Farbe, die der aktuellen Rasterposition zugeordnet ist

Farbindex zugeordnet zur aktuellen Rasterposition

Texturkoordinaten, die der aktuellen Rasterposition zugeordnet sind

#GL_EDGE_FLAG Flag

#GL_DEPTH_BUFFER_BIT
#GL_DEPTH_TEST Freigabebit

Tiefenpuffer-Testfunktion

Tiefenpuffer Löschwert

#GL_DEPTH_WRITEMASK Freigabebit

#GL_ENABLE_BIT
#GL_ALPHA_TEST Flag

#GL_AUTO_NORMAL Flag

#GL_BLEND Flag

Aktivierungsbits für die benutzerdefinierbaren Ausschnittebenen

#GL_COLOR_MATERIAL

#GL_CULL_FACE Flag

#GL_DEPTH_TEST Flag

#GL_DITHER Flag

#GL_FOG Flag

#GL_LIGHTi wobei 0 .le. i < #GL_MAX_LIGHTS

#GL_LIGHTING Flag

#GL_LINE_SMOOTH Flag

#GL_LINE_STIPPLE Flag

#GL_COLOR_LOGIC_OP Flag

#GL_INDEX_LOGIC_OP Flag

#GL_MAP1_x wobei x ein Kartentyp ist

#GL_MAP2_x wobei x ein Kartentyp ist

#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

Flags #GL_TEXTURE_GEN_x wobei x ein S, T, R, oder Q ist

#GL_EVAL_BIT
#GL_MAP1_x Aktivierungsbits, wobei x ein Kartentyp ist

#GL_MAP2_x Aktivierungsbits, wobei x ein Kartentyp ist

1D Gitterendpunkte und -teilungen

2D Gitterendpunkte und -teilungen

#GL_AUTO_NORMAL Freigabebit

#GL_FOG_BIT
#GL_FOG Freigabebit

Nebelfarbe

Nebeldichte

Linearer Nebelstart

Lineares Nebelende

NebelIndex

#GL_FOG_MODE Wert

#GL_HINT_BIT
#GL_PERSPECTIVE_CORRECTION_HINT Einstellung

#GL_POINT_SMOOTH_HINT Einstellung

#GL_LINE_SMOOTH_HINT Einstellung

#GL_POLYGON_SMOOTH_HINT Einstellung

#GL_FOG_HINT Einstellung

#GL_LIGHTING_BIT
#GL_COLOR_MATERIAL Freigabebit

#GL_COLOR_MATERIAL_FACE Wert

Farbmaterialparameter, die der aktuellen Farbe folgen

Farbe der Umgebungsszene

#GL_LIGHT_MODEL_LOCAL_VIEWER Wert

#GL_LIGHT_MODEL_TWO_SIDE Einstellung

#GL_LIGHTING Freigabebit

Freigabebit für jede Leuchte

Umgebungs-, Diffus- und Spiegelintensität für jedes Licht

Richtung, Position, Exponent und Cutoff-Winkel für jede Leuchte

Konstante, lineare und quadratische Dämpfungsfaktoren für jedes Licht

Umgebungs-, diffuse, spiegelnde und emissive Farbe für jedes Material

Umgebungs-, Diffus- und Spiegel-Farbindizes für jedes Material

Spiegelexponent für jedes Material

#GL_SHADE_MODEL Einstellung

#GL_LINE_BIT
#GL_LINE_SMOOTH Flag

#GL_LINE_STIPPLE Freigabebit

Linien-Punktemuster und Wiederholungszähler

Linienbreite

#GL_LIST_BIT
#GL_LIST_BASE Einstellung

#GL_PIXEL_MODE_BIT
#GL_RED_BIAS und #GL_RED_SCALE Einstellungen

#GL_GREEN_BIAS und #GL_GREEN_SCALE Werte

#GL_BLUE_BIAS und #GL_BLUE_SCALE Werte

#GL_ALPHA_BIAS und #GL_ALPHA_SCALE Werte

#GL_DEPTH_BIAS und #GL_DEPTH_SCALE Werte

#GL_INDEX_OFFSET und #GL_INDEX_SHIFT Werte

#GL_MAP_COLOR und #GL_MAP_STENCIL Flags

#GL_ZOOM_X und #GL_ZOOM_Y Faktoren

#GL_READ_BUFFER Einstellung

#GL_POINT_BIT
#GL_POINT_SMOOTH Flag Punktgröße

#GL_POLYGON_BIT
#GL_CULL_FACE Freigabebit

#GL_CULL_FACE_MODE Wert

#GL_FRONT_FACE Indikator

#GL_POLYGON_MODE Einstellung

#GL_POLYGON_SMOOTH Flag

#GL_POLYGON_STIPPLE Freigabebit

#GL_POLYGON_OFFSET_FILL Flag

#GL_POLYGON_OFFSET_LINE Flag

#GL_POLYGON_OFFSET_POINT Flag

#GL_POLYGON_OFFSET_FACTOR

#GL_POLYGON_OFFSET_UNITS

#GL_POLYGON_STIPPLE_BIT
Polygon-Punktierungsbild

#GL_SCISSOR_BIT
#GL_SCISSOR_TEST Flag

Scherenkasten

#GL_STENCIL_BUFFER_BIT
#GL_STENCIL_TEST Freigabebit

Schablonenfunktion und Referenzwert

Schablonenwertmaske

Schablonenfehler, Durchlauf und Tiefenpuffer Durchlaufaktionen

Schablonenpuffer Löschwert

Schablonenpuffer Schreibmaske

#GL_TEXTURE_BIT
Aktivieren von Bits für die vier Texturkoordinaten

Rahmenfarbe für jedes Texturbild

Verkleinerungsfunktion für jedes Texturbild

Vergrößerungsfunktion für jedes Texturbild

Texturkoordinaten und Wrap-Modus für jedes Texturbild

Farbe und Modus für jede Texturumgebung

Freigabebits #GL_TEXTURE_GEN_x, x ist S, T, R und Q

#GL_TEXTURE_GEN_MODE Einstellung für S, T, R und Q

gl.TexGen() Ebenengleichungen für S, T, R und Q

Aktuelle Texturbindungen (z.B., #GL_TEXTURE_2D_BINDING)

#GL_TRANSFORM_BIT
Koeffizienten der sechs Ausschnittebenen

Aktivierungsbits für die benutzerdefinierbaren Ausschnittebenen

#GL_MATRIX_MODE Wert

#GL_NORMALIZE Flag

#GL_VIEWPORT_BIT
Tiefenbereich (nah und fern)

Ansichtsfenster Ursprung und Umfang

Es ist ein Fehler, Attribute auf einen vollen Stapel zu schieben. In diesem Fall wird das Fehlerflag gesetzt und es wird keine weitere Änderung des GL-Zustandes vorgenommen.

Zunächst ist der Attributstabel leer.

Nicht alle Werte für den GL-Status können auf dem Attributstabel gespeichert werden. So können beispielsweise den Status des Rendermodus sowie den Status von Auswahl und Feedback nicht gespeichert werden. Der Client-Status muss mit gl.PushClientAttrib() gespeichert werden.

Die Tiefe des Attributstapels hängt von der Implementierung ab, muss aber mindestens 16 betragen.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
mask
spezifiziert eine Maske, die angibt, welche Attribute gespeichert werden sollen (siehe oben)
Fehler
#GL_STACK_OVERFLOW wird erzeugt, wenn gl.PushAttrib() aufgerufen wird, während der Attributstapel voll ist.

#GL_INVALID_OPERATION wird erzeugt, wenn gl.PushAttrib() zwischen gl.Begin() und gl.End() ausgeführt wird.

Verbundene get-operationen
gl.Get() mit dem Argument #GL_ATTRIB_STACK_DEPTH

gl.Get() mit dem Argument #GL_MAX_ATTRIB_STACK_DEPTH


Navigation zeigen