7

この質問に答える人をまだ見たことがありません。私が目にするのは、人々が何かが逆さまだと言っているのに、他の誰かが彼らにコードを反転するように言っているということだけです。しかし、私が疑問に思っているのは、なぜ OpenGL が Y 座標を反転させるのですか? 意味がない。

4

3 に答える 3

5

OpenGL は、Y 座標が下から上に向かうことを前提としています。あなたのコードが反対のことを想定している場合、物事は上下逆に表示されます。

詳細については Google for opengl 座標系

于 2013-02-24T14:08:37.427 に答える
1

OpenGL はデカルト座標で動作します。デカルト座標系では、0,0 が中央にあり、正の座標が右上に伸びています。任意の座標をプログラマが望むものにマッピングまたは変換できますが、これがデフォルトです。テクスチャ座標を指定すると、OpenGL はそれらがトップダウン座標ではなく、カテジアン座標であると想定します。これらの座標はプログラムで変換できますが、最も簡単な修正はテクスチャを反転することです。

ここに画像の説明を入力

于 2013-02-25T14:02:57.703 に答える
1

それはすべて、シーンのセットアップ方法によって異なります。この影響を引き起こす可能性のあるものはたくさんあります。

たとえば、カメラの位置/向きは、最終的なシーンの見え方に影響します。

gluLookAt(camera[0], camera[1], camera[2],  /* look from camera XYZ */ 
                  0,         0,         0,  /* look at the origin */ 
                  0,         1,         0); /* positive Y up vector */

テクスチャを操作する場合、間違ったテクスチャ座標を指定すると、図面が反転する可能性があります。

しかし、最も一般的な問題は、OpenGL が座標 (0, 0) をディスプレイの左下隅(Y が上向き) と定義していることを忘れていることです。

于 2013-02-24T14:18:45.713 に答える