[グラフィックス パイプライン ステージ] ウィンドウは、Visual Studio のグラフィックス診断ツールの 1 つであり、特定の描画イベントがグラフィックス パイプラインを通過する際の状態を確認するのに役立ちます。
[グラフィックス パイプライン ステージ] ウィンドウを次に示します。
.png)
[グラフィックス パイプライン ステージ] ウィンドウについて
[グラフィックス パイプライン ステージ] ウィンドウは、表示された特定のオブジェクトに適用されるグラフィックス パイプラインの各ステージの出力を解析するのに役立ちます。特に、データの誤った解釈や不適切な変換が発生したステージを識別できます。たとえば、頂点シェーダー ステージでオブジェクトが画面からはみ出さなかったかを調査できます。問題が発生したパイプライン ステージを識別したら、その他のグラフィックス診断ツールを使用して、データがどのように解釈または変換されたかを調査できます。パイプライン ステージで発生するレンダリングの問題は多くの場合、不適切な頂点形式記述子、バグの多いシェーダー プログラム、または誤って構成されたデバイスの状態に関連しています。
グラフィックス パイプライン ステージ
[グラフィックス パイプライン ステージ] ウィンドウには、描画呼び出し中にアクティブだったパイプライン ステージのグラフィックス データのみが表示されます。Visual Studio でグラフィックス ツールを使用して、表示された各ステージの出力を確認するには、[グラフィックス パイプライン ステージ] ウィンドウで関連する縮小表示を選択します。
計算シェーダーは [グラフィックス パイプライン ステージ] ウィンドウではサポートされていません。
[入力アセンブラー]
アプリケーションから提供されたインデックスと頂点のデータを読み取り、グラフィックス ハードウェア用に組み立てます。縮小表示には作成された頂点のワイヤーフレーム モデルが表示されます。位置に対応する頂点データは POSITION セマンティクスによって決定されます。入力アセンブラーの出力に POSITION セマンティクスが存在しない場合、[入力アセンブラー] ステージには何も表示されません。[入力アセンブラー] の段階で出力を確認するためのモデル エディターを使用できます。[頂点シェーダー]
通常は変換、スキン、ライティングなどの操作を実行することで、頂点を処理します。頂点シェーダーは常に頂点入力を 1 つ受け取り、頂点出力を 1 つ生成します。縮小表示には変換されたジオメトリのワイヤーフレーム イメージが表示されます。位置に対応する頂点データは POSITION または SV_POSITION セマンティクスによって決定されます。頂点シェーダーの出力に POSITION または SV_POSITION セマンティクスが存在しない場合、[頂点シェーダー] ステージには何も表示されません。イメージ エディターを使用して、[頂点シェーダー] ステージの出力を調査できます。[ハル シェーダー]
Direct3D 11 のみ。ジオメトリ プリミティブ (四角形、三角形、線など) を処理して、固定機能テセレーション ステージの入力として機能する下位ジオメトリック パッチを生成します。[ハル シェーダー] の縮小表示は表示されません。[ドメイン シェーダー]
Direct3D 11 のみ。頂点シェーダー ステージと同様、固定機能テセレーション ステージから出力されたサブ区分の頂点を処理します。[ドメイン シェーダー] ステージの縮小表示は表示されません。[ジオメトリ シェーダー]
隣接するプリミティブに関するオプションの頂点情報と共に、プリミティブ全体 (点、線、または三角形) を処理します。ジオメトリ シェーダーはプリミティブを破棄したり、1 つ以上の新しいプリミティブを生成したりできます。縮小表示には変換されたジオメトリのワイヤーフレーム イメージが表示されます。イメージ エディターを使用して、[ジオメトリ シェーダー] ステージの出力を調査できます。[ピクセル シェーダー]
補間された頂点データを処理して、色付きのピクセルを生成します。縮小表示にはピクセル シェーダー出力イメージが表示されます。イメージ エディターを使用して、[ピクセル シェーダー] ステージの出力を調査できます。[出力マージャー]
さまざまな種類のシェーダーの結果 (ピクセル シェーダー値や深度情報など) とレンダー ターゲットのコンテンツ、深度バッファー、ステンシル バッファーの情報を組み合わせて、レンダー ターゲットに与える影響を決定します。縮小表示には、さまざまな結果がマージされ、ステンシル バッファーのコンテンツが考慮された後のレンダー ターゲット コンテンツのイメージが表示されます。[出力マージャー] の段階で出力を確認するには、イメージ エディターを使用できます。
シェーダー コードの表示とデバッグ
シェーダーに関連付けられているパイプライン ステージの下にあるコントロールを使用すると、頂点シェーダー、ハル シェーダー、ドメイン シェーダー、ジオメトリ シェーダー、またはピクセル シェーダーのコードを表示またはデバッグできます。
シェーダーのソース コードを表示するには
- 表示するシェーダーに関連付けられているパイプライン ステージの下で、パイプライン ステージのタイトルを選択します。たとえば、頂点シェーダーのソース コードを表示するには、[頂点シェーダー] を選択します。
シェーダーをデバッグするには
- デバッグするシェーダーに関連付けられているシェーダー ステージの下で、パイプライン ステージのタイトルの下にある [デバッグの開始] を選択します。HLSL デバッガーへのこのエントリ ポイントでは、対応するステージの最初のシェーダー呼び出しのみをデバッグします。つまり、処理する最初の頂点、プリミティブ、またはピクセルです。これらのシェーダー ステージのその他の呼び出しには [グラフィックス ピクセル履歴] からアクセスできます。
グラフィックス デバイスへのリンク
描画呼び出しがグラフィックス パイプラインと特定の方法で対話する理由を理解するには、現在のデバイスの状態に関する情報が必要となる場合があります。[グラフィックス パイプライン ステージ] ウィンドウには、この情報へのリンクが含まれています。