glPushClientAttrib: Unterschied zwischen den Versionen
Flo (Diskussion | Beiträge) K (→glPushClientAttrib) |
Flash (Diskussion | Beiträge) (→Siehe auch) |
||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= glPushClientAttrib, glPopClientAttrib = | = glPushClientAttrib, glPopClientAttrib = | ||
− | + | ||
+ | |||
== Name == | == Name == | ||
− | '''glPushClientAttrib, glPopClientAttrib''' - Speichert Attribute auf und lädt Attribute vom Klientattributstack. | + | '''glPushClientAttrib, glPopClientAttrib''' - Speichert Attribute auf und lädt Attribute vom [[Stack|Klientattributstack]]. |
+ | |||
+ | |||
− | |||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
Zeile 11: | Zeile 13: | ||
procedure '''glPushClientAttrib'''(''mask'': TGLbitfield); | procedure '''glPushClientAttrib'''(''mask'': TGLbitfield); | ||
− | + | ||
+ | |||
== Parameter == | == Parameter == | ||
Zeile 21: | Zeile 24: | ||
|} | |} | ||
− | + | ||
+ | |||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
procedure '''glPopClientAttrib'''(); | procedure '''glPopClientAttrib'''(); | ||
− | + | ||
+ | |||
== Beschreibung == | == Beschreibung == | ||
Zeile 45: | Zeile 50: | ||
Im Initialzustand ist der Stack leer. | Im Initialzustand ist der Stack leer. | ||
− | + | ||
+ | |||
== Hinweise == | == Hinweise == | ||
'''glPushClientAttrib''' sind ab OpenGL Version 1.1 verfügbar. | '''glPushClientAttrib''' sind ab OpenGL Version 1.1 verfügbar. | ||
Zeile 53: | Zeile 59: | ||
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. | 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 == | == Fehlermeldungen == | ||
'''GL_STACK_OVERFLOW''' wird generiert wenn '''glPushClientAttrib''' aufgerufen wird und der Stack bereits voll ist.<br> | '''GL_STACK_OVERFLOW''' wird generiert wenn '''glPushClientAttrib''' aufgerufen wird und der Stack bereits voll ist.<br> | ||
'''GL_STACK_UNDERFLOW''' wird generiert wenn '''glPopClientAttrib''' aufgerufen wird und der Stack bereits leer ist.<br> | '''GL_STACK_UNDERFLOW''' wird generiert wenn '''glPopClientAttrib''' aufgerufen wird und der Stack bereits leer ist.<br> | ||
− | + | ||
+ | |||
== Zugehörige Wertrückgaben == | == Zugehörige Wertrückgaben == | ||
Zeile 64: | Zeile 72: | ||
[[glGet]] mit Token [[glGet#GL_MAX_CLIENT_ATTRIB_STACK_DEPTH|GL_MAX_CLIENT_ATTRIB_STACK_DEPTH]] | [[glGet]] mit Token [[glGet#GL_MAX_CLIENT_ATTRIB_STACK_DEPTH|GL_MAX_CLIENT_ATTRIB_STACK_DEPTH]] | ||
− | + | ||
+ | |||
== Siehe auch == | == Siehe auch == | ||
Zeile 70: | Zeile 79: | ||
[[Kategorie:GL|PushClientAttrib]] | [[Kategorie:GL|PushClientAttrib]] | ||
+ | [[Kategorie:GL1.0]] |
Aktuelle Version vom 16. April 2007, 00:28 Uhr
Inhaltsverzeichnis
glPushClientAttrib, glPopClientAttrib
Name
glPushClientAttrib, glPopClientAttrib - Speichert Attribute auf und lädt Attribute vom Klientattributstack.
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