ps_3_0 命令

ここでは、ピクセル シェーダー バージョン 3_0 命令のリファレンス情報について説明します。

次の表に示すように、ピクセル シェーダー命令にはいくつかの種類があります。右側の列の意味は次のとおりです。

  • 命令スロット - 各命令で使われる命令スロットの数です。
  • セットアップ - ピクセル シェーダーには、バージョン命令を 1 つ指定する必要があり、その命令は最初の命令でなければなりません。
  • 算術 - これらの命令は、シェーダー内の算術演算を行います。
  • テクスチャー - これらの命令は、テクスチャー データをロードおよびサンプリングするためと、テクスチャー座標を修飾するために使用します。
  • フロー制御 - これらの命令は命令の実行に対して静的および動的なフロー制御を適用します。
  • 新規 - これらの命令は、このバージョンで新たに追加された命令です。

命令セット

名前 説明 命令スロット セットアップ 算術 テクスチャー フロー制御 新規
abs - ps 絶対値 1 x
add - ps 2 つのベクトルの加算 1 x
break - ps loop...endloop または rep...endrep ブロックから抜け出す 1 x
break_comp - ps 条件に応じて、比較を使って loop...endloop または rep...endrep ブロックから抜け出す 3 x
breakp - ps プレディケーションに基づいて、loop...endloop または rep...endrep ブロックから抜け出す 3 x
call - ps サブルーチンを呼び出します。 2 x
callnz bool - ps ブール型のレジスタがゼロでない場合に、サブルーチンを呼び出す。 3 x
callnz pred - ps プレディケーション レジスタが 0 でない場合にサブルーチンを呼び出します。 3 x
cmp - ps 入力を 0 と比較する 1 x
crs - ps 外積 2 x
dcl_samplerType (sm2, sm3 - ps asm) サンプラのテクスチャー ディメンジョンの宣言 0 x
dcl_semantics (sm3 - ps asm) 入力レジスタと出力レジスタの宣言 0 x x
def - ps 定数の定義 0 x
defb - ps ブール型定数を定義します。 0 x
defi - ps 整数型定数を定義します。 0 x
dp2add - ps 2D の内積と加算 2 x
dp3 - ps 3D の内積 1 x
dp4 - ps 4D の内積 1 x
dsx - ps x 方向の変化割合です。 2 x
dsy - ps y 方向の変化割合です。 2 x
else - ps else ブロックの開始 1 x
endif - ps if...else ブロックの終了 1 x
endloop - ps ループの終了 2 x x
endrep - ps 繰り返しブロックを終了します。 2 x
exp - ps 完全精度の 2x 1 x
frc - ps 小数部 1 x
if bool - ps if ブロックの開始 3 x
if_comp - ps 比較に基づいて、if ブロックを開始 3 x
if pred - ps プレディケーションに基づいて、if ブロックを開始 3 x
label - ps ラベル 0 x
log - ps 完全精度の log2(x) 1 x
loop - ps Loop 3 x x
lrp - ps 線形補間 2 x
m3x2 - ps 3x2 行列乗算 2 x
m3x3 - ps 3x3 行列乗算 3 x
m3x4 - ps 3x4 行列乗算 4 x
m4x3 - ps 4x3 行列乗算 3 x
m4x4 - ps 4x4 行列乗算 4 x
mad - ps 乗算と加算 1 x
max - ps 最大 1 x
min - ps 最小 1 x
mov - ps 移動 1 x
mul - ps 乗算 1 x
nop - ps 操作なし 1 x
nrm - ps 正規化 3 x
pow - ps xy 3 x
ps バージョン 0 x
rcp - ps 逆数 1 x
rep - ps 繰り返します。 3 x
ret - ps サブルーチンの終了です。 1 x
rsq - ps 逆数平方根 1 x
setp_comp プレディケーション レジスタを設定します。 1 x
sincos - ps サインおよびコサイン 8 x
sub - ps 減算 1 x
texkill - ps ピクセル レンダリングを終了させる 2 x
texld - ps_2_0 以上 テクスチャーのサンプリング 注意 1 を参照 x
texldb - ps w 成分の詳細レベルのバイアスを使ったテクスチャー サンプリング 6 x
texldl - ps w 成分の詳細レベルを使ったテクスチャー サンプリング 注意 2 を参照 x x
texldd - ps ユーザー指定のグラデーションを使用したテクスチャー サンプリングです。 3 x
texldp - ps w 成分による射影除算を使ったテクスチャー サンプリング 注意 3 を参照 x

注意 :

  1. テクスチャーがキューブ マップの場合は slots = 4 になり、それ以外の場合は slots = 1 になります。
  2. テクスチャーがキューブ マップの場合は slots = 5 になり、それ以外の場合は slots = 2 になります。
  3. テクスチャーがキューブ マップの場合は slots = 4 になり、それ以外の場合は slots = 3 になります。