HLSL のプログラミング ガイド

かなり高いレベルで、データはグラフィック パイプラインにプリミティブのストリームとして入り、最大 3 つのシェーダー ステージで処理されます。

  • 頂点シェーダーは、トランスフォーム、スキニング、頂点ディスプレイスメント、頂点単位の頂点の計算など、頂点単位の処理を実行します。頂点シェーダーが実行する前に、高次プリミティブのテッセレーションを実行する必要があります。最低限、頂点シェーダーは同次クリック空間に頂点の位置を出力する必要があります。オプションとして、頂点シェーダーはテクスチャー座標、頂点カラー、頂点ライティング、フォグ係数などを出力できます。
  • ジオメトリ シェーダーは、マテリアル セレクションやシルエットエッジの検出など、プリミティブ単位の処理を実行し、ポイント スプライトの展開、Fin の生成、シャドウ ボリュームの押し出し、およびキューブ テクスチャーの複数の面への1 つのレンダリング パスに対して新しいプリミティブを生成できます。
  • ピクセル シェーダーは、テクスチャー ブレンディング、ライティング モデルの計算、ピクセル単位の通常マッピング/環境マッピングなど、ピクセル単位の処理を実行します。ピクセル シェーダーは、頂点シェーダーと連携して動作します。頂点シェーダーはピクセルシェーダーの入力を出力します。Direct3D 9 では、ピクセル シェーダーが完了すると、いくつかのピクセル操作 (フォグ ブレンディング、ステンシル処理、レンダー ターゲット ブレンディングなど) が発生します。

これらのステージは、上位レベル シェーダー言語 (HLSL) を使用して完全にプログラミングできます。HLSL シェーダーはオーサリング時に、またはランタイム時にコンパイルでき、ランタイム時には適切なパイプライン ステージに設定できます。Direct3D 9 シェーダーは、シェーダー モデル 1シェーダー モデル 2、およびシェーダー モデル 3 を使用して設計できます。Direct3D 10 シェーダーはシェーダー モデル 4 のみで設計できます。

関連トピック

HLSL のリファレンス