3

パラメトリック方程式を使用してメビウスの帯を描画しようとしていますが、常に「照らされている」(つまり、すべての法線ベクトルがカメラの方を向いている) ようにしています。

私が抱えている主な問題は、メビウスの帯が向きを変えられないことです。そのため、どのように帯を向けても、いくつかの法線ベクトルがカメラから離れた方向を向いてしまいます。常にカメラの方を向くように法線ベクトルを「反転」するタイミングを決定するスマートな方法はありますか?

法線が両方向になるようにメビウスの帯を 2 回描画しようとしましたが、Z ファイティングで黒と白の帯ができてしまいます。

4

2 に答える 2

6

解決策は簡単です: 0 から 2π だけではなく、4π に移動します。つまり、ストリップを 2 回通過します。バック フェース カリングを有効にします。

これは、実世界のメビウスの帯の標準的な実験の一種で、線の始点に到達するまで中央に沿って線を引きます。ストリップを2周する必要があります。それはまさにこれ、OpenGL で行うことです。

于 2012-10-24T09:15:58.047 に答える
2

これを試してみてください:

glLightModeli( GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE );

両面照明の場合、OpenGLは後ろ向きの三角形の法線を自動的に反転します。

于 2012-10-24T04:38:44.147 に答える