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.