0

Source Engine を見ていると、Phong Shadingに出くわしました。説明はTessellationに非常によく似ています。しかし、調べてみると、両者を直接比較するものは何も見つかりませんでした。現在、DirectX テッセレーションは HLSL のフォン シェーディングのように使用されていません。違いは何ですか?そして、どれを使用すればよいですか?

4

2 に答える 2

3

フォン シェーディングは DX11 テッセレーションとは直接関係ありませんが、どちらもライティングの詳細をスムーズにできるため、混乱する可能性があることがわかります。

テッセレーションは、いくつかのパラメーター (多くの場合、カメラ距離) に基づいて幾何学的詳細を動的に増やします。これにより、照明の品質が向上し (これは phong との関係でしょうか?)、シルエットのディテールも向上します。シェーディングの利点 (シルエットの詳細ではない) は、テッセレーションなしでピクセル シェーダーで完全にシミュレートできます。

フォン シェーディングは、ピクセル シェーディング手法です。ジオメトリの詳細には影響しません。標準の OpenGLグーロー シェーディングに似ていますが、表面のピクセル全体で照明値を補間する代わりに、法線が表面全体で補間され、各ピクセルで再正規化されます。これにより、「頂点ごとのライティング」ではなく「ピクセルごとのライティング」と呼ばれることが多い、より正確なライティング結果が得られます。

パイプラインの異なる部分で両方の効果を同時に (そしておそらく一般的に) 合理的に使用することができます。

于 2013-05-21T01:16:07.510 に答える
1

Justin が述べたように、フォン シェーディングは、ピクセルごとのライティングをより正確にするために使用されるシェーディング ルーチンです。テッセレーションは、より多くの三角形を動的に生成してメッシュ内の幾何学的な詳細を変更し、より高い表面の詳細とより滑らかな結果を実現するために使用されます。カメラまでの距離や画面上のサイズに応じて、動的なレベルの詳細にうまく使用できます。

このトピックに追加するために、Phong Shading から着想を得て、このアルゴリズムを Tessellation に適用する Phong Tessellation と呼ばれる Tessellation アルゴリズムがあることに言及する必要があると思いました。これは、頂点が同様の法線補間で修正され、より詳細なシルエットとより良い表面の詳細を実現することを意味します。Phong Tessellation は、他の一般的なローカル テッセレーション アルゴリズム PN-Triangles よりも単純なシェーダーを備えており、これを使用して、私が取り組んだゲームの 1 つで、より詳細なヘッドを実現しました。

フォンテッセレーション

于 2013-11-13T18:45:04.943 に答える