gluLookAt

gluLookAt




カメラの位置、姿勢を決定する!

GLU#gluLookAt( GL10 gl,
                                float eyeX, float eyeY, float eyeZ,
                                float centerX, float centerY, float centerZ,
                                float upX, float upY, float upX )

gluLookAtは視点、注視点、上方向を決定します。

gl使用するGL10のインスタンスを指定します。
eyeXカメラの位置(視点)のX位置を指定します。
eyeYカメラの位置(視点)のY位置を指定します。
eyeZカメラの位置(視点)のZ位置を指定します。
centerXカメラが見ているところ(注視点)のX位置を指定します。
centerYカメラが見ているところ(注視点)のY位置を指定します。
centerZカメラが見ているところ(注視点)のZ位置を指定します。
upXカメラの上方向がX軸に対してどれくらいかを指定します。
upYカメラの上方向がY軸に対してどれくらいかを指定します。
upZカメラの上方向がZ軸に対してどれくらいかを指定します。

gluLookAtで決定される姿勢は↓の図のようになります。

カメラの姿勢

  1. カメラの位置(視点)
  2. カメラが見ているところ(注視点)
  3. カメラの上方向

gluLookAtの使い方

基準画像

gluLookAt( gl, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f );
とした時。
これを基準とします。

位置をX100、Y200としてみた

gluLookAt( gl, 100.0f, 200.0f, 200.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f );
とした時。
視点が右に100、上に200移動したので右上から見下ろす感じになります。

注視点をX100、T50としてみた

gluLookAt( gl, 0.0f, 0.0f, 200.0f, 100.0f, 50.0f, 0.0f, 0.0f, 1.0f, 0.0f );
とした時。
注視点を右に100、上に50としたので右上を見上げる感じになります。

上方向をX1、Y0にしてみた

gluLookAt( gl, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f );
とした時。
上方向を右に1、上に0にしたので反時計方向に画像が回転する感じになります。