2

複数のレンダー ターゲットを使用する意味はありますか? 1 つのレンダー ターゲットに描画し、それをテクスチャに保存してから、ターゲットをクリアして再度使用することはできませんか?

4

2 に答える 2

4

MRTについて理解する重要なことは、すべてのレンダーターゲットにまったく同じデータを描画しているわけではないということです。

ピクセルシェーダーは4つの浮動小数点値のみを出力できます。通常、これらの4つの値を使用して、その特定のポイントで色を生成します。ただし、代わりに深度データまたは通常のデータを出力したい場合があるため、これらの4つの浮動小数点値を使用して、必要になる可能性のある他の情報を表します。

利点は、MRTを使用すると、シーンを1回描画してさまざまなレンダーターゲットに出力するだけでよいため、1回のレンダーパスで、拡散カラーデータを受け取る1つのレンダーターゲットに出力でき、別のレンダーターゲットが通常のデータを受け取ることができます。 3番目のレンダーターゲットは深度データを受け取ります。私が何を意味するのかをよりよく理解するには、以下を参照してください。

ここに画像の説明を入力してください

これは、実際にはRGBA値が他のものになる場合です。たとえば、ポリゴンの法線のX、Y、Zが描画されるため、RGBになります。

MRTを使用することにはいくつかの落とし穴があります。たとえば、すべてのレンダリングターゲットは同じビット深度である必要があり、GPUテクスチャフィルレートをプッシュし始めますが、全体的な利点は落とし穴を超えています。

于 2011-06-01T01:02:43.457 に答える
1

複数のレンダー ターゲットは、1 つのジオメトリをレンダリングし、さまざまな出力を個別のレンダー ターゲットに収集する場合に使用されます。

今日、この技術は主にディファード シェーディングの実装に使用されています。ディファード シェーディングでは、複数のレンダー ターゲットが、サーフェス法線、スペキュラー カラー、スペキュラー指数などの照明情報、および深度とディフューズ カラーの情報を格納します。結合されたレンダー ターゲットのセットは、G バッファーと呼ばれます。

Deferred Shading と G-Buffers の入門書については、6800 Leagues Under the Sea (Hargreaves & Harris 2004)を参照してください。

于 2011-05-31T05:28:17.440 に答える