14

OpenGL-ESでは、設定の違いが何であるかについて混乱しています

glOrthof()  
glViewPort()
GLU.gluOrtho2D()

それぞれのパラメータで。見える部分はすべて指定の座標(幅、高さ)に設定していると思います。どちらを使うべきですか?

4

1 に答える 1

23

glViewportは、OpenGL が描画するウィンドウの部分を決定します。これは、ウィンドウ全体またはサブセクションの場合があります (コンソール ゲームの「分割画面」モードを考えてみてください。すべてのプレイヤーに対して異なるビューポートです)。

glOrthofは、現在の行列に正射影を適用します。通常、この行列は、この呼び出しの前に射影行列に設定されます。射影行列はモデルビューと組み合わされて、OpenGL 座標を画面座標に変換する行列を生成します。

gluOrtho2D

これは、near = -1 および far = 1 で glOrtho を呼び出すことと同じです。

OpenGL での表示と変換の仕組みの詳細については、このページをお勧めします。

どちらを使用する必要がありますか? ビューポートと正投影は異なる問題であるため、それぞれに対して呼び出しが必要になります。glOrthof と gluOrtho2D はほぼ同等です。違いを知って、どちらかを使用してください。

于 2011-09-27T17:15:01.143 に答える