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 |
注意 :
- テクスチャーがキューブ マップの場合は slots = 4 になり、それ以外の場合は slots = 1 になります。
- テクスチャーがキューブ マップの場合は slots = 5 になり、それ以外の場合は slots = 2 になります。
- テクスチャーがキューブ マップの場合は slots = 4 になり、それ以外の場合は slots = 3 になります。