[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 12/25 23:16 / Filesize : 216 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

OpenGLスレ Part 3



140 名前:131 mailto:sage [03/11/27 12:45]
たぶんこんな手順になります。(順番重要)
当たり前だったら申し訳ない。

・セレクション
glGetIntegerv(GL_VIEWPORT,vp); // ビューポート変数を取得
glSelectBuffer(BUFFER_SIZE,sb); //セレクションバッファをセット
glRenderMode(GL_SELECT); // セレクションモードに切り替え
glInitNames(); // セレクションバッファを初期化
glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentify(); // 投影変換マトリクスの保存と初期化
gluPickMatrix(mx,vp[3]-my,pixel,pixel,vp); // セレクション領域が(mx,my)近辺(pixel の範囲)になるように投影変換マトリクスを設定
set_projection(); // 好みの投影変換マトリクスを設定。glFrustum など。
glMatrixMode(GL_MODELVIEW); // モデルビューモードに切り替え
draw(GL_SELECT); // 描画。セレクトしたいものをPushName。gluLookAtやglTranslatefなども含む。
glMatrixMode(GL_PROJECTION); glPopMatrix(); // 投影変換マトリクスを元に戻す
glMatrixMode(GL_MODELVIEW); // ビューイング変換マトリクスに切り替えておく
glPopName(); // ネームスタックをクリア
GLint hits = glRenderMode(GL_RENDER); // セレクション完了

・実際の描画
glMatrixMode(GL_PROJECTION); glLoadIdentify(); // 投影変換マトリクスの初期化 (*1)
glMatrixMode(GL_MODELVIEW); // モデルビューモードに切り替え (*1)
draw(GL_RENDER); // 描画
# ただし (*1) のところは普通はウィンドウサイズが変化したときなどに呼ぶようにする。







[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<216KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef