glPushClientAttrib-Funktion

Mit den Funktionen glPushClientAttrib und glPopClientAttrib werden Gruppen von Clientzustandsvariablen im Clientattributstapel gespeichert und wiederhergestellt.

Syntax

void WINAPI glPushClientAttrib(
   GLbitfield mask
);

Parameter

mask

Eine Maske, die angibt, welche Attribute gespeichert werden sollen. Im Folgenden sind die symbolischen Maskenkonstanten und die zugehörigen OpenGL-Clientzustände aufgeführt.

Wert Bedeutung
GL_CLIENT_PIXEL_STORE_BIT
Pixelspeichermodusattribute.
GL_CLIENT_VERTEX_ARRAY_BIT
Vertexarrayattribute.
GL_CLIENT_ALL_ATTRIB_BITs
alle stapelbaren Clientzustandsattribute.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Fehlercodes

Der folgende Fehlercode kann von der glGetError-Funktion abgerufen werden.

Name Bedeutung
GL_STACK_OVERFLOW
Die Funktion wurde aufgerufen, während der Client-Attributstapel voll war.

Bemerkungen

Die glPushClientAttrib-Funktion verwendet ihren mask-Parameter, um zu bestimmen, welche Gruppen von Clientzustandsvariablen im Clientattributstapel gespeichert werden. Sie können den bitweisen OR-Operator verwenden, um akzeptierte symbolische Konstanten zusammenzuführen, um Bits festzulegen und eine Maske zu erstellen.

Die glPopClientAttrib-Funktion stellt die Werte der zuletzt mit glPushclientAttrib gespeicherten Clientzustandsvariablen wieder her. Zuvor nicht gespeicherte Clientzustandsvariablen bleiben unverändert. Durch Pushen von Attributen in einen vollständigen Client-Attributstapel oder durch Einfügen von Attributen aus einem leeren Stapel wird ein Fehlerflag festgelegt, und es wird keine andere Änderung am OpenGL-Zustand vorgenommen. Standardmäßig ist der Clientattributestapel leer.

Einige OpenGL-Clientstatuswerte können nicht im Client-Attributstapel gespeichert werden. Sie können z. B. die Auswahl- oder Feedbackzustände nicht im Client-Attributstapel speichern. Die Tiefe des Client-Attributstapels beträgt mindestens 16.

Die Funktionen glPushclientAttrib und glPopClientAttrib werden nicht in Anzeigelisten kompiliert, sondern sofort ausgeführt.

Die Funktionen glPushClientAttrib und glPopClientAttrib können nur Push- und Pop-Pixelspeichermodi und Vertexarray-Clientzustände verwenden. Sie müssen glPushAttrib und glPopAttrib verwenden, um push- und pop-Zustände zu übertragen, die auf dem Server beibehalten werden.

Hinweis

Die Funktionen glPushClientAttrib und glPopClientAttrib sind nur in OpenGL Version 1.1 oder höher verfügbar.

Die folgenden Funktionen rufen Informationen im Zusammenhang mit glPushClientAttrib und glPopClientAttrib ab:

glGet mit argument GL_CLIENT_ATTRIB_STACK_DEPTH

glGet mit argument GL_MAX_CLIENT_ATTRIB_STACK_DEPTH

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Gl.h
Bibliothek
Opengl32.lib
DLL
Opengl32.dll

Weitere Informationen

glColorPointer

glDisableClientState

glEdgeFlagPointer

glEnableClientState

glGet

glGetError

glIndexPointer

glNormalPointer

glNewList

glPixelStore

glPushAttrib

glTexCoordPointer

glVertexPointer