glPushClientAttrib
Inhaltsverzeichnis
glPushClientAttrib
Name
glPushClientAttrib, glPopClientAttrib - Beschreibung...
Delphi-Spezifikation
procedure glPushClientAttrib(mask: TGLbitfield);
Parameter
mask | Beschreibt eine Maske die steuert, welche Attribute gespeichert werden sollen. Werte für mask werden nachfolgend aufgeführt. |
---|
Delphi-Spezifikation
procedure glPopClientAttrib();
Beschreibung
glPushClientAttrib erwartet mit dem Parameter mask eine Maske die angibt, welche Gruppe von Klientzustandsvariablen (client-state variables) auf den Klientattributstack gespeichert werden sollen. Es werden symbolische Konstanten benutzt um Bits in der Maske zu setzen. mask wird typischerweise erstellt, indem man mehrere dieser Konstanten miteinander OR-Verknüpft. Die spezielle Maske GL_CLIENT_ALL_ATTRIB_BITS kann benutzt werden um alle speicherbaren Klientattribute auf den Stack zu schreiben.
Folgende symbolische Konstanten gibt es für mask:
GL_CLIENT_PIXEL_STORE_BIT
- Pixel storage modes
GL_CLIENT_VERTEX_ARRAY_BIT
- Vertex arrays (und welche davon aktiv sind (siehe glEnableClientState) )
glPopClientAttrib hohlt die zuletzt mit glPushClientAttrib gespeicherten Attribute wieder vom Stack. Das heißt, alle Attribute die nicht auf den Stack gespeichert wurden, bleiben unverändert.
Ein Fehler tritt auf, wenn versucht wird Attribute auf einen vollen Stack zu speichern, oder von einem leeren Stack zu lesen. In beiden Fällen wird das Error-Flag gesetzt. Es werden keine Veränderungen an GL-Zuständen gemacht.
Im Initialzustand ist der Stack leer.
Hinweise
glPushClientAttrib sind ab OpenGL Version 1.1 verfügbar.
Die Tiefe des Attributstacks ist implementationsabhängig, muss aber mindestens 16 sein.
Benutzen Sie glPushAttrib/glPopAttrib um Attribute zu sichern / laden welche auf dem Server gespeichert werden. Nur Pixelspeichermodi und Zustände von Vertexarrays werden mit glPushClientAttrib und glPopClientAttrib gespeichert und geladen.
Fehlermeldungen
GL_STACK_OVERFLOW wird generiert wenn glPushClientAttrib aufgerufen wird und der Stack bereits voll ist.
GL_STACK_UNDERFLOW wird generiert wenn glPopClientAttrib aufgerufen wird und der Stack bereits leer ist.
Zugehörige Wertrückgaben
glGet mit Token GL_ATTRIB_STACK_DEPTH
glGet mit Token GL_MAX_CLIENT_ATTRIB_STACK_DEPTH
Siehe auch
glColorPointer, glEdgeFlagPointer, glEnableClientState, glGet, glGetError, glIndexPointer, glNormalPointer, glNewList, glPixelStore, glPushAttrib, glTexCoordPointer, glVertexPointer