glPopAttrib-Funktion

Füllt den Attributstapel auf.

Syntax

void WINAPI glPopAttrib(void);

Parameter

Diese Funktion besitzt keine Parameter.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Fehlercodes

Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.

Name Bedeutung
GL_STACK_UNDERFLOW
Die Funktion wurde aufgerufen, während der Attributstapel leer war.
GL_INVALID_OPERATION
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen.

Bemerkungen

Die glPushAttrib-Funktion akzeptiert ein Argument, eine Maske, die angibt, welche Gruppen von Zustandsvariablen im Attributstapel gespeichert werden sollen. Symbolische Konstanten werden verwendet, um Bits in der Maske festzulegen. Der Mask-Parameter wird in der Regel durch oring mehrere dieser Konstanten zusammen erstellt. Die spezielle Maske GL_ALL_ATTRIB_BITS kann verwendet werden, um alle stapelbaren Zustände zu speichern.

Die glPopAttrib-Funktion stellt die Werte der Zustandsvariablen wieder her, die mit dem letzten glPushAttrib-Befehl gespeichert wurden. Nicht gespeicherte Werden bleiben unverändert.

Es ist ein Fehler, Attribute auf einen vollständigen Stapel zu pushen oder Attribute aus einem leeren Stapel zu löschen. In beiden Fällen wird das Fehlerflag festgelegt, und es wird keine andere Änderung am OpenGL-Zustand vorgenommen.

Anfangs ist der Attributstapel leer.

Nicht alle Werte für den OpenGL-Zustand können im Attributstapel gespeichert werden. Beispielsweise können pixelpacken und entpacken Zustand, Rendermoduszustand und Auswahl- und Feedbackstatus nicht gespeichert werden.

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

Die folgenden Funktionen rufen Informationen im Zusammenhang mit glPushAttrib und glPopAttrib ab:

glGet mit Argument GL_ATTRIB_STACK_DEPTH

glGet mit argument GL_MAX_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

Siehe auch

glBegin

glEnd

glGet

glGetClipPlane

glGetError

glGetLight

glGetMap

glGetMaterial

glGetPixelMap

glGetPolygonStipple

glGetString

glGetTexEnv

glGetTexGen

glGetTexImage

glGetTexLevelParameter

glGetTexParameter

glIsEnabled