Share via


glPopMatrix 関数

glPushMatrix 関数と glPopMatrix 関数は、現在のマトリックス スタックをプッシュしてポップします。

構文

void WINAPI glPopMatrix(void);

パラメーター

この関数にはパラメーターはありません。

戻り値

この関数は値を返しません。

エラー コード

完全な行列スタックをプッシュするか、単一の行列のみを含む行列スタックをポップするのはエラーです。 どちらの場合も、エラー フラグが設定され、OpenGL 状態に対するその他の変更は行われません。

glGetError 関数では、次のエラー コードを取得できます。

名前 意味
GL_STACK_UNDERFLOW
関数は呼び出されましたが、現在のマトリックス スタックには 1 つのマトリックスのみが含まれていました。
GL_INVALID_OPERATION
この関数は、 glBegin の呼び出しと glEnd の対応する呼び出しの間で呼び出されました。

解説

各行列モードには行列の積み重ねがあります。 GL_MODELVIEW モードでは、スタックの深さは少なくとも 32 です。 GL_PROJECTIONとGL_TEXTUREの他の 2 つのモードでは、深さは少なくとも 2 です。 任意のモードの現在の行列は、そのモードのスタックの上部にある行列です。

glPushMatrix 関数は、現在の行列スタックを 1 つずつ押し下げ、現在の行列を複製します。 つまり、 glPushMatrix 呼び出しの後、スタックの上部にあるマトリックスは、その下の行列と同じです。 glPopMatrix 関数は、現在の行列スタックをポップし、現在の行列をスタックの下の行列に置き換えます。 最初は、各スタックに 1 つの行列 (ID 行列) が含まれています。

次の関数は 、glPushMatrix と glPopMatrix に関連する情報 取得します。

引数GL_MATRIX_MODEを含む glGet

glGet と引数 GL_MODELVIEW_MATRIX

glGet と引数 GL_PROJECTION_MATRIX

glGet と引数 GL_TEXTURE_MATRIX

glGet と引数 GL_MODELVIEW_STACK_DEPTH

glGet と引数 GL_PROJECTION_STACK_DEPTH

glGet と引数 GL_TEXTURE_STACK_DEPTH

glGet と引数 GL_MAX_MODELVIEW_STACK_DEPTH

引数GL_MAX_PROJECTION_STACK_DEPTHを含む glGet

glGet と引数 GL_MAX_TEXTURE_STACK_DEPTH

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Gl.h
ライブラリ
Opengl32.lib
[DLL]
Opengl32.dll

関連項目

glBegin

glEnd

glFrustum

glLoadIdentity

glLoadMatrix

glMatrixMode

glMultMatrix

glOrtho

glPushMatrix

glRotate

glScale

glTranslate

glViewport