次の方法で共有


サンプラー (Direct3D 9 asm-ps)

サンプラーは、ピクセル シェーダーの入力疑似レジスタであり、サンプリング ステージの識別に使われます。ピクセル シェーダーには、s0 ~ s15 の 16 個のサンプリング ステージ レジスタがあります。したがって、単一のシェーダー パスで最大 16 のテクスチャー サーフェスを読み取ることができます。サンプラー レジスタを使用する命令は texld および texldp です。

解説 

サンプラーを使用する場合は、dcl_samplerType (sm2, sm3 - ps asm) 命令で事前に宣言しておく必要があります。

ピクセル シェーダーのバージョン 1_1 1_2 1_3 1_4 2_0 2_sw 2_x 3_0 3_sw
サンプラ x x x x x

サンプラは擬似的なレジスタです。サンプラを直接読み取ったり、サンプラに対して直接書き込みを行うことはできないためです。

サンプリング ユニットは、テクスチャー サンプリング ステージに対応し、SetSamplerState で指定されたサンプリング固有のステートをカプセル化します。各サンプラーは、1 つのテクスチャー サーフェスを一意に識別します。テクスチャー サーフェスは SetTexture を使用して、対応するサンプラーに設定します。ただし、同じテクスチャー サーフェスを複数のサンプラーで設定することが可能です。

描画時には、テクスチャーをレンダー ターゲットとステージのテクスチャーに同時に設定することはできません。

サンプラーは、次のテクスチャー ロード命令の唯一の引数として指定される場合があります。 texldl - ps.

ps_3_0 でサンプラーを使用する場合は、シェーダー プログラムの先頭に、dcl_samplerType (sm2, sm3 - ps asm) 命令を使用して宣言する必要があります。

テクスチャー座標内にあるものより高いディメンジョンでテクスチャーをサンプリングすることはできません。テクスチャー座標内にあるものより低いディメンジョンでテクスチャーをサンプリングすると、不要なテクスチャー座標は無視されます。