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

データはプリミティブのストリームとしてグラフィックス パイプラインに入り、シェーダー ステージによって処理されます。 実際のシェーダー ステージは Direct3D のバージョンによって異なりますが、頂点、ピクセル、ジオメトリの各ステージは必ず含まれます。 その他のステージには、テセレーション用のハル シェーダーとドメイン シェーダー、コンピューティング シェーダーなどがあります。 これらのステージは、ハイ レベル シェーディング言語 (HLSL) を使用して完全にプログラミングできます。

HLSL シェーダーは、作成者時または実行時にコンパイルし、実行時に適切なパイプライン ステージに設定できます。 Direct3D 9 シェーダーは、 シェーダー モデル 1、シェーダー モデル2、シェーダー モデル3 を使用して設計できます。Direct3D 10 シェーダーは、 シェーダー モデル 4 でのみ設計できます。 Direct3D 11 シェーダーは、 シェーダー モデル 5 で設計できます。 Direct3D 11.3 とDirect3D 12はシェーダー モデル 5.1 で設計でき、Direct3D 12はシェーダー モデル 6 でも設計できます。

このセクションの内容

トピック 説明
シェーダー リンクの使用 プリコンパイル済み HLSL 関数を作成し、それらをライブラリにパッケージ化し、実行時に完全なシェーダーにリンクする方法を示します。
Direct3D 9 での HLSL シェーダーの記述
Direct3D 9 でのシェーダーの使用
Direct3D 10 でのシェーダーの使用
HLSL シェーダーの最適化
Visual Studio でのシェーダーのデバッグ シェーダーをデバッグするための最新のツールが、Visual Studio グラフィックス デバッガーと呼ばれる Microsoft Visual Studio の機能として提供されるようになりました。
シェーダーのコンパイル シェーダー コードをコンパイルするさまざまな方法と、シェーダー コードのファイル拡張子の規則を見てみましょう。
コンパイラ ターゲットの指定 ここでは、D3DCompile* 関数と HLSL コンパイラがサポートするさまざまなプロファイルのターゲットを示します。
In-Placeイメージ編集のための開梱とパッキングDXGI_FORMAT
HLSL の最小精度の使用 Windows 8以降、グラフィックス ドライバーは、指定したビット精度以上の精度を使用して、最小精度 HLSL スカラー データ型を実装できます。
HLSL シェーダー モデル 5
HLSL シェーダー モデル 5.1 このセクションでは、シェーダー モデル 5.1 の機能について説明します。実際には D3D12 と D3D11.3 に適用されます。 すべての DirectX 12 ハードウェアでは、シェーダー モデル 5.1 がサポートされています。
HLSL シェーダー モデル 6.0 HLSL シェーダー モデル 6.0 に追加されたウェーブ操作の組み込みについて説明します。
HLSL シェーダー モデル 6.4 HLSL シェーダー モデル 6.4 に追加された機械学習の組み込みについて説明します。