Portieren von Greset

OpenGL ersetzt die IRIS GL-Funktion greset durch die Funktionen glPushAttrib und glPopAttrib. Verwenden Sie diese Funktionen, um Gruppen von Zustandsvariablen zu speichern und wiederherzustellen. Beispiel:

void glPushAttrib( GLbitfield mask );

In diesem Beispiel wird ein bitweises OR symbolischer Konstanten verwendet, das angibt, welche Gruppen von Zustandsvariablen auf einen Attributstapel pushen sollen. Jede Konstante bezieht sich auf eine Gruppe von Zustandsvariablen. Die folgende Tabelle zeigt die Attributgruppen mit ihren entsprechenden symbolischen Konstantennamen. Eine vollständige Liste der OpenGL-Zustandsvariablen, die den einzelnen Konstanten zugeordnet sind, finden Sie unter glPushAttrib.

attribute Konstante
Klarwert des Akkumulationspuffers _ _ GL-PUFFERBIT _
Farbpuffer GL _ COLOR _ BUFFER _ BIT
Aktuell GL _ CURRENT _ BIT
Tiefenpuffer GL _ DEPTH _ BUFFER _ BIT
enable GL _ ENABLE _ BIT
Bewerter EGL _ VAL _ BIT
Nebel GL _ _ GL-BIT
GL _ LIST _ BASE-Einstellung GL _ LIST _ BIT
Hinweisvariablen GL _ HINT _ BIT
Beleuchtungsvariablen GL _ LIGHTING _ BIT
Linienzeichnungsmodus GL _ LINE _ BIT
Pixelmodusvariablen GL _ PIXEL _ MODE _ BIT
Punktvariablen GL _ POINT _ BIT
polygon GL _ POLYGON _ BIT
Polygon-Ausschnitt GL _ POLYGON _ STIPPLE _ BIT
Schere GL _ SCISSOR _ BIT
Schablonenpuffer _ _ GL-SCHABLONENPUFFERBIT _
Struktur GL _ TEXTURE _ BIT
Transformieren GL _ TRANSFORM _ BIT
Viewport GL _ VIEWPORT _ BIT
GL _ ALL _ ATTRIB _ BITS

Um die Werte der Zustandsvariablen auf diejenigen wiederherzustellen, die mit dem letzten glPushAttribgespeichert wurden, rufen Sie einfach glPopAttrib auf. Die Variablen, die Sie nicht gespeichert haben, bleiben unverändert. Der Attributstapel hat eine endliche Tiefe von mindestens 16.