Bezeichnung
gl.PushClientAttrib -- verschiebt den Klient-Attributstapel
Übersicht
gl.PushClientAttrib(mask)
Beschreibung
gl.PushClientAttrib() verwendet eine Maske als Argument, die angibt, welche Gruppen von Klient-Zustandsvariablen auf dem Klient-Attributstapel gespeichert werden sollen. Symbolische Konstanten werden verwendet, um Bits in der Maske zu setzen. Die mask wird typischerweise durch die Angabe der bitweisen oder mehrerer dieser Konstanten zusammen aufgebaut. Die spezielle Maske #GL_CLIENT_ALL_ATTRIB_BITS kann verwendet werden, um alle stapelbaren Klient-Status zu speichern.

Die symbolischen Maskenkonstanten und der damit verbundene GL-Klient-Status sind wie folgt:

#GL_CLIENT_PIXEL_STORE_BIT
Pixel-Speichermodi

#GL_CLIENT_VERTEX_ARRAY_BIT
Scheitelpunkt-Felder (und -Aktivierungen)

Es ist ein Fehler, Attribute auf einen vollständigen Klient-Attributstapel zu verschieben. In diesem Fall wird das Fehlerflag gesetzt und es wird keine weitere Änderung des GL-Zustandes vorgenommen.

Zunächst ist der Klient-Attributstapel leer.

Nicht alle Werte für den GL-Klient-Status können auf dem Attribut Stapel gespeichert werden. So können beispielsweise der Auswahl- und Feedback-Status nicht gespeichert werden.

Die Tiefe des Attributstapels hängt von der Implementierung ab, muss aber mindestens 16 betragen.

Verwenden Sie gl.PushAttrib(), um den Verschiebe-Status zu erhalten, der auf dem Server gehalten wird. Nur Pixelspeichermodi und Scheitelpunkt-Feld-Zustände können mit gl.PushClientAttrib() verschoben werden.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
mask
spezifiziert eine Maske, die angibt, welche Attribute gespeichert werden sollen (siehe oben)
Fehler
#GL_STACK_OVERFLOW wird erzeugt, wenn gl.PushClientAttrib() aufgerufen wird, während der Attributstapel voll ist.

Verbundene get-operationen
gl.Get() mit dem Argument #GL_ATTRIB_STACK_DEPTH

gl.Get() mit dem Argument #GL_MAX_CLIENT_ATTRIB_STACK_DEPTH


Navigation zeigen