1. ホーム
  2. c++

[解決済み】OpenGLでglOrtho()を使用するには?

2022-02-18 16:23:02

質問

の使い方がよくわからない。 glOrtho. どなたか、何に使うのか説明してください。

x y z 座標の限界の範囲を設定するために使用するのでしょうか?

glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);

x、y、zの範囲が-1〜1ということですか?

解答方法は?

この写真を見てください。 グラフィカルな投影

glOrtho コマンドを実行すると、下の段にあるような「斜め」投影が行われます。頂点がz方向にどれだけ離れていても、遠方に後退することはありません。

OpenGLで2Dグラフィックス(ヘルスバー、メニューなど)を行う必要があるときは、毎回glOrthoを使用しています。 ウィンドウサイズを変更するたびに、以下のコードを使用します。

{{コード

これはOpenGLの座標を同等のピクセル値に再マップします(Xは0からwindowWidthまで、Yは0からwindowHeightまで)。Yの値を反転させたのは、OpenGL座標がウィンドウの左下隅から始まっているからです。つまり、反転させることによって、ウィンドウの左上隅から始まるより一般的な (0,0) を得ることができます。

Z値は0から1の範囲でクリップされるので、頂点の位置にZ値を指定するときは、その範囲外だとクリップされることに注意してください。それ以外の場合は、その範囲内であれば、Zテスト以外は位置に影響を与えないように見えます。