glPopMatrix-Funktion

Die Funktionen glPushMatrix und glPopMatrix drücken und füllen den aktuellen Matrixstapel.

Syntax

void WINAPI glPopMatrix(void);

Parameter

Diese Funktion besitzt keine Parameter.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Fehlercodes

Es ist ein Fehler, einen vollständigen Matrixstapel zu verschieben oder einen Matrixstapel aufzufüllen, der nur eine einzelne Matrix enthält. In beiden Fällen wird das Fehlerzeichen festgelegt und es wird keine andere Änderung an den OpenGL-Zustand vorgenommen.

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

Name Bedeutung
GL_STACK_UNDERFLOW
Die Funktion wurde aufgerufen, während der aktuelle Matrixstapel nur eine einzelne Matrix enthält.
GL_INVALID_OPERATION
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen.

Bemerkungen

Es gibt einen Stapel von Matrizen für jede der Matrixmodi. Im GL_MODELVIEW Modus ist die Stapeltiefe mindestens 32. In den anderen beiden Modi GL_PROJECTION und GL_TEXTURE ist die Tiefe mindestens 2. Die aktuelle Matrix in jedem Modus ist die Matrix am oberen Rand des Stapels für diesen Modus.

Die glPushMatrix-Funktion verschiebt den aktuellen Matrixstapel nach unten, dupliziert die aktuelle Matrix. Das heißt, nach einem glPushMatrix-Aufruf ist die Matrix am oberen Rand des Stapels identisch mit der darunter liegenden. Die glPopMatrix-Funktion füllt den aktuellen Matrixstapel auf, indem sie die aktuelle Matrix durch die untere Matrix auf dem Stapel ersetzt. Zunächst enthält jede der Stapel eine Matrix, eine Identitätsmatrix.

Die folgenden Funktionen rufen Informationen im Zusammenhang mit glPushMatrix und glPopMatrix ab:

glGet mit Argument GL_MATRIX_MODE

glGet mit Argument GL_MODELVIEW_MATRIX

glGet mit Argument GL_PROJECTION_MATRIX

glGet mit Argument GL_TEXTURE_MATRIX

glGet mit Argument GL_MODELVIEW_STACK_DEPTH

glGet mit Argument GL_PROJECTION_STACK_DEPTH

glGet mit Argument GL_TEXTURE_STACK_DEPTH

glGet mit Argument GL_MAX_MODELVIEW_STACK_DEPTH

glGet mit Argument GL_MAX_PROJECTION_STACK_DEPTH

glGet mit Argument GL_MAX_TEXTURE_STACK_DEPTH

Requirements (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

glBegin

glEnd

glFrustum

glLoadIdentity

glLoadMatrix

glMatrixMode

glMultMatrix

glOrtho

glPushMatrix

glRotate

glScale

glTranslate

glViewport