シェーダー モデル 4

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

機能 説明
命令セット HLSL 関数
Register Set レジスタ セットには、コンポーネント パッキングなどの 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 ステージ) がサポートされています。これは、既存のジオメトリを作成または変更するために使用できます。 また、ジオメトリ ステージからデータをストリーミングするように設計されたストリーム出力オブジェクトと、テクスチャ サンプリング関数を実装するテンプレート化されたテクスチャ オブジェクトという 2 つの新しいオブジェクトの種類も含まれています。

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

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

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