glPushMatrix 関数
glPushMatrix 関数と glPopMatrix 関数は、現在のマトリックス スタックをプッシュしてポップします。
構文
void WINAPI glPushMatrix(void);
パラメーター
この関数にはパラメーターはありません。
戻り値
この関数は値を返しません。
エラー コード
完全なマトリックス スタックをプッシュするか、1 つのマトリックスのみを含むマトリックス スタックをポップすると、エラーになります。 いずれの場合も、エラー フラグが設定され、OpenGL 状態に対するその他の変更は行われません。
glGetError 関数では、次のエラー コードを取得できます。
名前 | 意味 |
---|---|
|
関数は、現在のマトリックス スタックがいっぱいの間に呼び出されました。 |
|
glBegin の呼び出しと glEnd の対応する呼び出しの間に関数が呼び出されました。 |
解説
各行列モードには行列の積み重ねがあります。 GL_MODELVIEW モードでは、スタックの深さは少なくとも 32 です。 GL_PROJECTIONとGL_TEXTUREの他の 2 つのモードでは、深度は少なくとも 2 です。 任意のモードの現在の行列は、そのモードのスタックの上部にある行列です。
glPushMatrix 関数は、現在のマトリックス スタックを 1 つずつ押し下げ、現在のマトリックスを複製します。 つまり、 glPushMatrix 呼び出しの後、スタックの上部にあるマトリックスは、その下の行列と同じです。 glPopMatrix 関数は、現在の行列スタックをポップし、現在の行列をスタック上のその下の行列に置き換えます。 最初は、各スタックに 1 つの行列 (ID 行列) が含まれています。
次の関数は 、glPushMatrix と glPopMatrix に関連する情報を取得します。
引数GL_MATRIX_MODEを含む 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を含む glGet
引数GL_MAX_PROJECTION_STACK_DEPTHを含む glGet
引数GL_MAX_TEXTURE_STACK_DEPTHを含む glGet
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|