0

3D メッシュ オブジェクトのレンダリングに関して問題があります。C# で 3D メッシュ オブジェクトを準備し、レンダリングしました。残念ながら、シャープでなければならないエッジはキャンバーです。

その理由を説明していただけませんか。


Visual Studio 2008 - C# Express Edition を使用しています。3D の閉じたメッシュ オブジェクトには約があります。66.000 頂点。同時に、平面だけでなく曲面も持っています。


2 つの平面が交わる端がまっすぐではないということです。

4

1 に答える 1

2

頂点には法線が 1 つしかありません。これは、その頂点を共有するすべての三角形の法線の平均です。

フラット シェーディングを取得するには、各頂点を [n] 個の法線があるかのように処理する必要があります。[n] は頂点を共有する三角形の数であり、各法線は三角形の法線と同じである必要があります。一部のシステムでは、頂点に [n] 法線が必要でしたが、三角形から法線を継承できるすべての三角形でフラット シェーディングを行っていることがわかっている場合は、厳密には必要ありません。(Warren Young が言及しているように) 一部のパーツがフラット シェーディングであり、他のパーツがスムーズ シェーディングである場合、フラット シェーディングの三角形が交わる頂点に追加の法線を割り当てる必要があります。

あなたが使用しているモデリング システムの詳細がなければ (そしておそらくその時でさえも!)、どのようにこれを達成するかを提案することはできません.

于 2009-10-13T22:57:56.567 に答える