gl.PushClientAttrib(mask)
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
#GL_CLIENT_VERTEX_ARRAY_BIT
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.
#GL_STACK_OVERFLOW
wird erzeugt, wenn gl.PushClientAttrib()
aufgerufen wird,
während der Attributstapel voll ist.
#GL_ATTRIB_STACK_DEPTH
gl.Get() mit dem Argument #GL_MAX_CLIENT_ATTRIB_STACK_DEPTH