0

私が開発しようとしている directX アプリケーションは、2 つの方法で実装できます。1 つは、関連付けられた色を持つ多数の三角形を使用する方法で、もう 1 つは、三角形の数は少ないが、生成されたテクスチャからのテクスチャ マッピングによってディテールを追加する方法です。

私はGPUハードウェアに十分慣れていないため、これら2つのアプローチの費用についての直感はありません-私の推測では、多数の頂点の処理は少数の頂点よりも高価ですが、ピクセルからいくつかの詳細が追加されていますシェーダーですが、ハードウェアの観点からそれを正当化することはできません.

これについてどのように考えるか、またはこれが正しい考え方であるかどうかを誰か説明できますか?

どんな助けでも大歓迎

アノンデブ

4

1 に答える 1

0

大きなポリゴンを使用し、テクスチャを使用して詳細化する方が効率的です。そのため、テクスチャ マッピングが存在します。平面をより細かく見せる試みです。バンプ マッピング技術は、ポリゴンが平らではないかのように照明を動作させることで、効果をさらに高めます。

ただし、シルエットが平らになるなどの問題があるため、これはポリゴンを使用するほどリアルには見えません。

三角形が非常に小さいため、最終的に画面上の 1 ピクセルを占有するとします。各ピクセルは、マトリックス演算を使用してその位置を計算する必要があり、各ポリゴンはラスタライザーに渡されて単一のピクセルに変換され、各ピクセルはピクセル シェーダーに送信されます。これは大変な作業であり、ピクセル シェーダーを実行して、このピクセルの照明を調整する必要があります。

代わりに、1 つの大きな三角形が画面いっぱいに表示されている場合、マトリックス演算を使用して 3 つの頂点のみが変換され、ラスタライザーは 1 つの三角形をピクセルに変換します。ピクセル シェーダーは、前の例と同じ回数実行されます。唯一の違いは、ピクセル シェーダーがテクスチャ マップのルックアップを行う必要があることです。これは比較的安価です。

于 2013-04-17T14:20:14.797 に答える