I am Charmie

メモとログ

OpenGL: 立体の描画

2つの処理に分かれている.

  1. オブジェクトの設定
    3次元空間内での位置や,オブジェクトの挙動(色,光の反射,etc.)などを設定する.
  2. 視点の設定
    3次元空間を2次元の画像としてレンダリングするために,カメラに関する設定をする.
    • ビューポート: window内で画像を描画する領域を設定
      glViewport(0, 0, w, h); // window全体に描画する
      glViewport(0, 0, w/2, h/2); // windowの左下1/4だけに描画する
    • 投影変換行列: 3次元空間の視野に入れる範囲を設定
      gluPerspective(); // 透視投影
      glOrtho(); // 正射影
    • 視点位置: カメラのパラメータを設定する.
      gluLookAt(e,c,u);
      e = (GLdouble ex, GLdouble ey, GLdouble ez): 視点の位置
      c = (GLdouble cx, GLdouble cy, GLdouble cz): 視線方向の位置
      u = (GLdouble ux, GLdouble uy, GLdouble uz): 画像のどの方向が上かを指定
      がある.
    この処理はウィンドウサイズが変更される度に実行される.