シェーダー モデル 4

シェーダー モデル 4 は シェーダー モデル 3 の機能のスーパーセットですが、シェーダー モデル 4 ではシェーダー モデル 1 の機能がサポートされていません。 これは共通シェーダー コアを使用して設計されており、HLSL を使用してのみプログラミング可能なすべてのプログラミング可能なシェーダーに共通の機能セットを提供します。

機能 機能
命令セット HLSL 関数
レジスタ セット レジスタ セットには、定数バッファーとテクスチャ バッファー内のメンバーを介してアクセスできます。コンポーネントのパッキングなどの HLSL セマンティクスを使用します。
頂点シェーダーの最大値 制限なし
ピクセル シェーダーの最大値 制限なし
新しいシェーダー プロファイルが追加されました gs_4_0、ps_4_0、vs_4_0、gs_4_1*、ps_4_1*、gs_4_1*
新しいEffect-Framework プロファイルが追加されました fx_4_0、fx_4_1*

 

* - Direct3D 10.1 以降では、gs_4_1、ps_4_1、vs_4_1、fx_4_1がサポートされます。

シェーダー モデル 4 では、既存のジオメトリを作成または変更するために使用できる新しいパイプライン ステージ (geometry-shader ステージ) がサポートされています。 また、geometry ステージからデータをストリーミングするために設計されたストリーム出力オブジェクトと、テクスチャ サンプリング関数を実装するテンプレート化されたテクスチャ オブジェクトという 2 つの新しいオブジェクトの種類も含まれています。

シェーダー モデル 4 では、格納時にデータを配置する方法を指定するパッキング ルールがサポートされています。 これらの規則については、「定数変数のパッキング 規則」を参照してください。

シェーダー モデル 4 アセンブリ セクションでは、シェーダー モデル 4 とシェーダー モデル 4.1 でサポートされているアセンブリの手順について説明します。

シェーダー モデルとシェーダー プロファイル