I am Charmie

メモとログ

2011-05-28から1日間の記事一覧

OpenGL: 光源の設定

光源を利用する.2つの処理が必要.光源そのものに環境光,拡散光,鏡面光があって,それぞれ設定するというのは,何か違和感を感じるなぁ.光源の設定光源を有効にする: glEnable(GL_LIGHTING)をコールする.その後,glEnable(GL_LIGHT$i$)として,i番目の…

OpenGL: ダブルバッファリング

画面全体を一度に描画すると,表示がちらつく事があるらしい(レンダリングの速度が追いつかないから?).ダブル・バッファリングによって画面を2つにわけて,片方を表示している間にもう片方を描画して入れ換える・・・という作業を続けると,ちらつきがなくなる…

OpenGL: アニメーション

"GLでアニメーションをさせる=display関数を複数回呼ぶ"という事らしい.glutMainLoop関数は無限ループだけど,glutDisplayFunc関数はウィンドウを再描画するイベントが発生した時しかコールされないそうだ.そこで,アニメーションのようにdisplay関数を連…

OpenGL: Z buffer

複数の物体を描画する時,(カメラから見た時の)物体の前後関係を考慮する必要がある.初期化 glutInitDisplayMode()にGLUT_DEPTHを追加する描画時glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);...glEnable(GL_DEPTH_TEST);

OpenGL: 立体の描画

2つの処理に分かれている.オブジェクトの設定3次元空間内での位置や,オブジェクトの挙動(色,光の反射,etc.)などを設定する.視点の設定3次元空間を2次元の画像としてレンダリングするために,カメラに関する設定をする.ビューポート: window内で画像を…

OpenGL: window作成

OpenGLでwindowsを作成する.4つの処理に分かれている. glutの初期化glutInit関数をコールする. windowの設定glutCreateWindow関数をコールする. コールバック関数の設定glutDisplayFunc関数をglutDisplayFunc(display)のようにコールする.※ display関数…