盛大な独り言日記・自分用メモ2010.11.17~
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
OpenGLの復習
隠面処理:3D空間の中に2つの物を配置した時、カメラからの前後関係を計算して、
カメラから見てかぶって配置されている部分は手前の物だけを描画する処理
隠面処理にはzバッファを使う
zバッファとは画素1つ1つに存在する記憶領域のこと。z値が入る。
z値はカメラとの距離だと思っておけばいいのかな…。z値が小さいと描き直すらしい。
流れ
z値を初期化→複数のオブジェクトの、各画素のz値を比較
→もしz値が小さかったら、その時だけ描き直し
→頭に戻る
隠面処理をさせる手順は
glutInitDisplayMode(GLUT_RGBA)を
glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH)に
glClear(GL_COLOR_BUFFER_BIT)を
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)に書き変える
描画するところで、
glEnable(GL_DEPTH_GEST) と glDisable(GL_DEPTH_TEST)
に囲まれた部分の描画関数に隠面処理が適用される。
ってさ!
あ、モンハン届きました\(^o^)/
隠面処理:3D空間の中に2つの物を配置した時、カメラからの前後関係を計算して、
カメラから見てかぶって配置されている部分は手前の物だけを描画する処理
隠面処理にはzバッファを使う
zバッファとは画素1つ1つに存在する記憶領域のこと。z値が入る。
z値はカメラとの距離だと思っておけばいいのかな…。z値が小さいと描き直すらしい。
流れ
z値を初期化→複数のオブジェクトの、各画素のz値を比較
→もしz値が小さかったら、その時だけ描き直し
→頭に戻る
隠面処理をさせる手順は
glutInitDisplayMode(GLUT_RGBA)を
glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH)に
glClear(GL_COLOR_BUFFER_BIT)を
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)に書き変える
描画するところで、
glEnable(GL_DEPTH_GEST) と glDisable(GL_DEPTH_TEST)
に囲まれた部分の描画関数に隠面処理が適用される。
ってさ!
あ、モンハン届きました\(^o^)/
PR
この記事にコメントする