0

こんにちは。dx11エンジンに遅延シェーディングを追加するつもりですが、アーキテクチャに関する質問があります。最初にMRTを使用してgbufferをレンダリングし、それを計算シェーダーに渡してディスパッチし、結果を出力することを考えていました。私の質問は、2つのスワップチェーンを作成します。1つはgbufferをレンダリングし、もう1つはuavを作成して、計算シェーダーをバックバッファーにレンダリングして表示しますか、それとも別の方法がありますか。ここで避けようとしているのは、fullscren quadを使用して、csの出力をレンダリングする必要があることです。オーバーヘッドが多すぎます。前もって感謝します。

4

1 に答える 1

1

編集:これを行うといくつかの州の警告が表示されることを追加する必要があるため、注意して使用してください。

最後に、2 つのスワップチェーンは必要ありません。まず、DXGI_USAGE_UNORDERED_ACCESS フラグを使用してバックバッファーを作成します。次に、レンダー ターゲットを作成します。シーンをそのターゲットにレンダリングし、それを Texture2D として計算シェーダーに渡し、バックバッファーを RWTexture2D として計算シェーダーに渡します。次に、cs をディスパッチし、提示して完了です。画面に cs 出力が表示されます。

于 2013-02-20T16:56:17.257 に答える