最終更新: mikk_ni3_92 2008年06月27日(金) 15:30:42履歴
現在地 >> メニュー >> 基本編03 >> 基本編03::はじめに
3Dプログラミングを行う場合、描画の前にいくつかの設定がある。
基本的には、以下のコールバック関数を用意する。
この関数は、
に呼び出される。
以下のようにして登録する。
[例]
一般に、3D描画では
これらの設定をreshape()関数内に記述する事が多い。
[例]
次は >> ビューポート
3Dプログラミングを行う場合、描画の前にいくつかの設定がある。
基本的には、以下のコールバック関数を用意する。
- 描画用の「display()関数」
- ウィンドウのサイズ変更時に呼ばれる「reshape()関数」
この関数は、
- 最初にウィンドウを作成した時
- マウスなどでウィンドウサイズを変更した時
に呼び出される。
以下のようにして登録する。
[例]
void reshape(int w, int h) { ... ... } int main() { ... ... glutReshapeFunc(reshape); ... ... }
一般に、3D描画では
- ビューポートの設定
- 視体積設定
- 視点の設定
これらの設定をreshape()関数内に記述する事が多い。
[例]
void reshape(int w, int h) { glViewport(0, 0, w, h); //ビューポートの設定 glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(30.0, (double)w / (double)h, 1.0, 100.0); //視体積の設定 glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(3.0, 4.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); //視点の設定 }
次は >> ビューポート