gluLookAt -
ビューイング変換を定義する
void
gluLookAt( GLdouble
eyeX,
GLdouble eyeY,
GLdouble eyeZ,
GLdouble centerX,
GLdouble centerY,
GLdouble centerZ,
GLdouble upX,
GLdouble upY,
GLdouble upZ )
引き数¶
- eyeX, eyeY, eyeZ
- 視点の位置を指定する。
- centerX, centerY, centerZ
- 参照点の位置を指定する。
- upX, upY, upZ
- up
ベクトルの方向を指定する。
gluLookAt
は視点、シーンの中心を示す参照点、
UP
ベクトルからビューイング行列を作る。
この行列は参照点を
z
軸上(座標が負の範囲)にマップし、
視点を原点にマップする。
したがって、普通の射影行列が使われているときは、シーンの
中心はビューポートの中心にマップされる。
同様に、ビューイング平面上に投影される
UP
ベクトルが示す方向は、
y
軸上(座標が正の範囲)にマップされる。
この際の方向は、ビューポート内で上を向くようにされる。
UP
ベクトルは、視点と参照点を結ぶ視線と平行になってはならない。
行列
UP をベクトル
とする。
この場合、正規化は次のようになされる:
最後に、
,
とする。
すると M
は次のように組み立てられる:
また、
gluLookAt は glMultMatrixf(M);
glTranslated (-eyex, -eyey, -eyez);
と等価である。
関連項目¶
glFrustum,
gluPerspective