glPushMatrix-Funktion

Die Funktionen glPushMatrix und glPopMatrix pushen und popen den aktuellen Matrixstapel.

Syntax

void WINAPI glPushMatrix(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 pushen oder einen Matrixstapel aufzufüllen, der nur eine einzelne Matrix enthält. In beiden Fällen wird das Fehlerflag festgelegt, und es wird keine andere Änderung am OpenGL-Zustand vorgenommen.

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

Name Bedeutung
GL_STACK_OVERFLOW
Die Funktion wurde aufgerufen, während der aktuelle Matrixstapel voll war.
GL_INVALID_OPERATION
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen.

Bemerkungen

Für jeden Matrixmodus gibt es einen Stapel von Matrizen. Im GL_MODELVIEW Modus beträgt die Stapeltiefe mindestens 32. In den anderen beiden Modi GL_PROJECTION und GL_TEXTURE beträgt die Tiefe mindestens 2. Die aktuelle Matrix in einem beliebigen Modus ist die Matrix am oberen Rand des Stapels für diesen Modus.

Die glPushMatrix-Funktion verschiebt den aktuellen Matrixstapel um eins nach unten und dupliziert die aktuelle Matrix. Das heißt, nach einem glPushMatrix-Aufruf ist die Matrix am oberen Rand des Stapels mit der darunter liegenden Matrix identisch. Die glPopMatrix-Funktion füllt den aktuellen Matrixstapel auf und ersetzt die aktuelle Matrix durch die darunter stehende Matrix auf dem Stapel. Anfangs enthält jeder 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 with argument GL_MAX_TEXTURE_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

glBegin

glEnd

glFrustum

glLoadIdentity

glLoadMatrix

glMatrixMode

glMultMatrix

glOrtho

glPopMatrix

glRotate

glScale

glTranslate

glViewport