glPushClientAttrib: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Name)
(Siehe auch)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
 
= glPushClientAttrib, glPopClientAttrib =
 
= glPushClientAttrib, glPopClientAttrib =
  
<br>
+
 
 +
 
 
== Name ==
 
== Name ==
 
'''glPushClientAttrib, glPopClientAttrib''' - Speichert Attribute auf und lädt Attribute vom [[Stack|Klientattributstack]].
 
'''glPushClientAttrib, glPopClientAttrib''' - Speichert Attribute auf und lädt Attribute vom [[Stack|Klientattributstack]].
  
<br>
+
 
 +
 
  
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
Zeile 11: Zeile 13:
 
  procedure '''glPushClientAttrib'''(''mask'': TGLbitfield);
 
  procedure '''glPushClientAttrib'''(''mask'': TGLbitfield);
  
<br>
+
 
 +
 
  
 
== Parameter ==
 
== Parameter ==
Zeile 21: Zeile 24:
 
|}
 
|}
  
<br>
+
 
 +
 
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
 
  procedure '''glPopClientAttrib'''();
 
  procedure '''glPopClientAttrib'''();
  
<br>
+
 
 +
 
  
 
== Beschreibung ==  
 
== Beschreibung ==  
Zeile 45: Zeile 50:
 
Im Initialzustand ist der Stack leer.
 
Im Initialzustand ist der Stack leer.
  
<br>
+
 
 +
 
 
== 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.
  
<br>
+
 
 +
 
 
== 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>
  
<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]]
  
<br>
+
 
 +
 
  
 
== 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

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