-2

私の問題は、どうやら私の OpenGL シーンのオブジェクトの法線が不可解に反転していることです。ここに私の説明を助けるためにいくつかの写真があります。

最初のスクリーンショット:
ここに画像の説明を入力

2 番目のスクリーンショット:
ここに画像の説明を入力

私のコードに問題がありますか(何も変更していないため、問題はありません)、それともグラフィックカードの不具合のようなものですか? また、問題がグラフィック カードにある場合は、どうすれば修正できますか?

ちなみに、グラフィックカードドライバーをアップグレードする前は問題なく動作していました

4

1 に答える 1

0

問題は、深度テストを使用せずに立方体の両側 (内側と外側) を描画していることです。これを修正するには 2 つの方法があります。通常は、異なる問題を解決するため、両方を有効にしますが、この特定のケースでは、どちらの手法でも問題を解決できます。

  1. 深度テストを有効にします: glEnable(GL_DEPTH_TEST). これにより、立方体の前にある部分が後ろにある部分の上に描画されますが、その逆は起こりません。

  2. 背面カリングを有効にします: glEnable(GL_CULL_FACE). これにより、立方体の外側は描画されますが、内側は描画されないようになります。これが正しく機能するためには、すべての三角形が正しい方向を向いていることを確認する必要があることに注意してください。また、モデルは凸面であるため、これは完全なソリューションにすぎないことに注意してください。

于 2015-01-08T23:14:06.220 に答える