0

私は、私のコーディネイトがそれぞれの場合にどのように機能しているかを考えるのにうんざりしています。

このコードでY軸を反転できると聞きました。

glScalef(1, -1, 1);

しかし、私はすべきですか?これは他のいくつかの外部機能や照明などを壊しませんか?

4

3 に答える 3

5

私は、openglのデフォルトに慣れるのが、混乱から抜け出すための最速の方法だと言うかもしれません。

于 2010-01-18T14:10:06.270 に答える
2

この質問に対する正しいはい/いいえの答えはありません。呼び出しglScalef(1, -1, 1)とは、右手座標系ではなく左手座標系を使用することを意味します。これは、歴史的に、たとえばDirect3DやRenderManインターフェイスの選択でした。一部の人々は、正のz軸が画面の外ではなく画面を指すようにする方が直感的だと感じています(これは左手座標系の1つのバージョンであり、y軸は下向きです)。

座標系を切り替えることを選択した場合、それを機能させるには、OpenGLの標準設定の一部を変更する必要があります。たとえば、おそらく呼び出したいと思うでしょうglCullFace(GL_FRONT)(またはOpenGLに送信されるすべての三角形の順序を逆にします)。

于 2010-01-18T13:31:26.690 に答える
0

私は間違っているかもしれませんが、それはあなたのモデルを裏返しにするかもしれません。おそらく、頂点の巻き順序も入れ替える必要があります。ただし、両面ポリゴンを使用する場合は、心配する必要はありません。

于 2010-01-18T15:05:56.317 に答える