0

を使用しない場合GL_NORMALIZE、オブジェクトを (その法線とともに) 正の係数 (より大きなオブジェクトとより長い法線) でスケーリングすると、オブジェクトはより暗く表示されます。

法線が大きいほど、ライティング方程式の cos(lighting angle) 項が大きくなり、オブジェクトが軽くなると思います。

では、なぜ逆なのでしょうか?

(JOGL経由でOpenGL v1.1を使用しています)

4

1 に答える 1

3

変換に関しては、法線は通常の点のようには扱われません。これらは、ポイントの変換に使用される行列の逆転置を使用して変換され、変換コンポーネントが削除されます。固定パイプラインの場合、これは GL によって自動的に処理されます。

スケーリングの場合、これは逆の大きさで法線をスケーリングする効果があります。したがって、GL_NORMALIZE をオフにしてオブジェクトを大きくすると、法線の大きさが小さくなる効果があり、ライティングの計算はより暗い色になります。

法線がこのように変換される理由については、このページで適切に説明されています。これも。

于 2012-05-20T08:52:42.160 に答える