DirectX11:ComputeShaderからVertexshaderにデータを渡しますか?
-
27-09-2019 - |
質問
Computeシェーダーを使用してレンダリングされるジオメトリデータにフィルターを適用し、頂点シェーダーの入力バッファーとして結果を使用することは可能ですか?それは私にデータを読み返す問題(&時間)を節約するでしょう。
どんな助けも大歓迎です。
解決
そのとおり。最初に2つの同一のものを作成します ID3D11Buffer
使用した構造の BIND_VERTEX_BUFFER
, BIND_SHADER_RESOURCE
と BIND_UNORDERED_ACCESS
使用フラグ、および関連するUAVとSRV。
最初のステップは、フィルターを入力ソースバッファーに適用し、コンピューティングパス中に宛先バッファーに書き込むことです。
その後、ドローパス中に、宛先バッファーをにバインドする必要があります IA
ステージ。頂点に計算を蓄積する必要がある場合は、Ping-Pongを行うことができます(フィルターとは、 機能マップ, 、機能的なプログラミング用語を参照するため)。
所属していません StackOverflow