glFrustum 関数
glFrustum 関数は、現在の行列にパースペクティブ 行列を乗算します。
void WINAPI glFrustum(
GLdouble left,
GLdouble right,
GLdouble bottom,
GLdouble top,
GLdouble zNear,
GLdouble zFar
);
-
left
-
左垂直方向のクリッピング平面の座標。
-
right
-
右垂直方向のクリッピング平面の座標。
-
下部
-
下水平方向のクリッピング平面の座標。
-
top
-
下水平方向のクリッピング平面の座標。
-
zNear
-
近深度クリッピング平面までの距離。 正である必要があります。
-
zFar
-
遠深度クリッピング平面までの距離。 正である必要があります。
この関数は値を返しません。
glGetError 関数では、次のエラー コードを取得できます。
名前 | 意味 |
---|---|
|
zNear または zFar が事後処理されませんでした。 |
|
この関数は、 glBegin の呼び出しと glEnd の対応する呼び出しの間で呼び出されました。 |
glFrustum 関数は、パースペクティブ プロジェクションを生成するパースペクティブ マトリックスを記述します。 (左、 下、 zNear) パラメーターと (右、 上、 zNear) パラメーターは、目が (0,0,0) にあると仮定して、ウィンドウの左下隅と右上隅にマップされるニア クリッピング平面上のポイントを指定します。 zFar パラメーターは、遠方クリッピング平面の位置を指定します。 zNear と zFar はどちらも正である必要があります。 対応するマトリックスを次の図に示します。
glFrustum 関数は、現在の行列にこの行列を乗算し、結果は現在の行列を置き換えます。 つまり、M が現在の行列であり、F が視錐台パースペクティブ 行列である場合、 glFrustum は M を M F に置き換えます。
glPushMatrix と glPopMatrix を使用して、現在のマトリックス スタックを保存および復元します。
深度バッファーの有効桁数は、 zNear と zFar に指定された値の影響 を受けます。 zFar と zNear の比率が大きいほど、深度バッファーは互いに近いサーフェスを区別する効果が低くなります。 If
約 ログ2 (r) ビットの深度バッファー精度が失われます。 zNear が 0 に近づくと r は無限大に近づくため、zNear を 0 に設定しないでください。
次の関数は 、glFrustum に関する情報を取得します。
引数GL_MATRIX_MODEを含む glGet
glGet と引数 GL_MODELVIEW_MATRIX
glGet と引数 GL_PROJECTION_MATRIX
glGet と引数 GL_TEXTURE_MATRIX
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|