OpenGLで非常に厄介な問題があります。
私の宿題は、人間と剣と他のいくつかのオブジェクトでシーンを作成し、ポイントライトを男の「手のひら」(右が緑、左が赤)にし、指向性光源を太陽にすることです。 。
これが私のプログラムの2つのバージョンを含むzipです:http://www.woofiles.com/dl-245221-OdPUtOaW-Release.zip
(残念ながら、名前はハンガリー語です。「szép_de_rossz_oldalon_a_fény」は「素敵ですがライトは反対側にあります」を意味し、「fény_jó_oldalon_de_ronda」は「右側にあるが醜いライト」を意味します。)
私の問題は、ライトの効果がテッセレートされたパラメトリックサーフェスの反対側に現れることです。
論理的な説明は、サーフェス法線が正しくないということですが、それらに-1を掛けると、さらに奇妙な結果が得られます。通常のベクトル補間は壊れているように見え、残っているのは照明の悪い粗い表面です。法線を逆にすることによってすべて。三角形が正しい方向を向いていること、ベクトル演算が完璧であること、そしてすべてが本来あるべきシーンに配置されていることを確信しています(剣は緑色であることがわかりますが、他の表面のその側は赤)。