0

私のプログラムは、雨滴を進めるための計算シェーダーと、高度な雨滴をレンダリングするための別のレンダリング シェーダー (頂点シェーダー、ジオメトリ シェーダー、ピクセル シェーダー) に基づく雨粒子システムです。

ドロー コール DrawInstancedIndirect を使用して、Compute Shader からの結果をレンダリング ステップに適用します。

私の問題は、雨滴ごとにビルボードを描画しようとしているジオメトリ シェーダーのレンダリング ステップにあります。通常の四角形を描画するだけではうまくレンダリングされ、ビルボードに変更するとレンダー ターゲットには何もありません。このジオメトリ シェーダーをデバッグする方法を探しています。ジオメトリ シェーダーのデバッグに次のツールを使用しましたが、うまくいきました。

VS2012 のグラフィックス デバッガー。このツールはドロー コール: DrawInstancedIndirect をサポートしていないようです。

GPU ペフトスタジオ。頂点、ピクセル シェーダーをサポートしますが、ジオメトリ シェーダーはサポートしません。ジオメトリ シェーダーからピクセル シェーダーに即時値を渡して確認しようとしましたが、それらはすべてゼロです。しかし、エラーを見つけるためにジオメトリ シェーダーを掘り下げる必要があります。

NVDIAによるNsight。私のグラフィック カードは 720M ですが、Nsight が 730M からしかサポートしていないのはとても悲しいことです。私がデバッグ プロセスにいる理由は、シェーダー リストが空であることが原因かもしれません。

私は今絶望的で、問題を見つける方法がありません。このジオメトリ シェーダをデバッグする方法を教えていただければ幸いです。本当にありがとう!

4

1 に答える 1

1

Crytek のRenderDocを試すことができます。非常に使いやすく、すべてのステージのすべてのバッファを監視できます。

于 2014-03-10T19:00:27.347 に答える