命令 - vs_3_0
このトピックでは、頂点シェーダー バージョン 3_0 の命令のリファレンス情報について説明します。
表に示すように、頂点シェーダーの命令にはいくつかの種類があります。右側の列の意味は次のとおりです。
- 命令スロット - 各命令で使われる命令スロットの数です。
- セットアップ - 非算術命令すべてのシェーダーにはバージョン命令が必要で、それが最初の命令でなければなりません。
- 算術 - これらの命令は、シェーダー内の算術演算を行います。
- テクスチャー - これらの命令は、テクスチャー アドレス ルックアップをサポートします。
- フロー制御 - これらの命令は、ループ、繰り返し、if bool - vs...else...endif 比較などのフロー制御を追加します。
- 新規 - これらの命令は、このバージョンで新たに追加された命令です。
命令セット
名前 | 説明 | 命令スロット | セットアップ | 算術 | テクスチャー | フロー制御 | 新規 |
---|---|---|---|---|---|---|---|
abs - vs | 絶対値 | 1 | x | ||||
add - vs | 2 つのベクトルの加算 | 1 | x | ||||
break - vs | loop - vs...endloop - vs または rep...endrep ブロックから抜け出す | 1 | x | ||||
break_comp - vs | 比較条件に応じて、loop - vs...endloop - vs または rep...endrep ブロックから抜け出す | 3 | x | ||||
breakp - vs | プレディケーションに基づいて、loop - vs...endloop - vs または rep...endrep ブロックから抜け出す | 3 | x | ||||
call - vs | サブルーチンを呼び出します。 | 2 | x | ||||
callnz bool - vs | ブール型レジスタが 0 でない場合にサブルーチンを呼び出します。 | 3 | x | ||||
callnz pred - vs | プレディケーション レジスタが 0 でない場合にサブルーチンを呼び出します。 | 3 | x | ||||
crs - vs | 外積 | 2 | x | ||||
dcl_usage input (sm1, sm2, sm3 - vs asm) | 頂点入力レジスタの宣言 (「レジスタ - vs_3_0」を参照) | 0 | x | ||||
dcl_samplerType (sm3 - vs asm) | サンプラのテクスチャー ディメンジョンの宣言 | 0 | x | x | |||
def - vs | 定数の定義 | 0 | x | ||||
defb - vs | ブール型定数の宣言 | 0 | x | ||||
defi - vs | 整数型定数の宣言 | 0 | x | ||||
dp3 - vs | 3 要素の内積 | 1 | x | ||||
dp4 - vs | 4 要素の内積 | 1 | x | ||||
dst - vs | Distance | 1 | x | ||||
else - vs | else ブロックを開始します。 | 1 | x | ||||
endif - vs | if bool - vs...else ブロックの終了 | 1 | x | ||||
endloop - vs | loop - vs ブロックの終了 | 2 | x | ||||
endrep - vs | 繰り返しブロックを終了します。 | 2 | x | ||||
exp - vs | 完全精度の 2x | 1 | x | ||||
exp - vs | 部分精度の 2x | 1 | x | ||||
frc - vs | 小数部 | 1 | x | ||||
if bool - vs | (ブール条件を使用した) if bool - vs ブロックの開始 | 3 | x | ||||
if_comp - vs | 比較に基づいて、if bool - vs ブロックを開始 | 3 | x | ||||
if pred - vs | プレディケーション条件に基づいて、if bool - vs ブロックを開始 | 3 | x | ||||
label - vs | ラベル | 0 | x | ||||
lit - vs | ライティングの計算 | 3 | x | ||||
log - vs | 完全精度の log2(x) | 1 | x | ||||
logp - vs | 部分精度の log2(x) | 1 | x | ||||
loop - vs | Loop | 3 | x | ||||
lrp - vs | 線形補間 | 2 | x | ||||
m3x2 - vs | 3x2 行列乗算 | 2 | x | ||||
m3x3 - vs | 3x3 行列乗算 | 3 | x | ||||
m3x4 - vs | 3x4 行列乗算 | 4 | x | ||||
m4x3 - vs | 4x3 行列乗算 | 3 | x | ||||
m4x4 - vs | 4x4 行列乗算 | 4 | x | ||||
mad - vs | 乗算と加算 | 1 | x | ||||
max - vs | 最大 | 1 | x | ||||
min - vs | 最小 | 1 | x | ||||
mov - vs | 移動 | 1 | x | ||||
mova - vs | 浮動小数点レジスタから整数レジスタへのデータの移動 | 1 | x | ||||
mul - vs | 乗算 | 1 | x | ||||
nop - vs | 操作なし | 1 | x | ||||
nrm - vs | 正規化 | 3 | x | ||||
pow - vs | xy | 3 | x | ||||
rcp - vs | 逆数 | 1 | x | ||||
rep - vs | 繰り返します。 | 3 | x | ||||
ret - vs | サブルーチンの終了です。 | 1 | x | ||||
rsq - vs | 逆数平方根 | 1 | x | ||||
setp_comp - vs | プレディケーション レジスタを設定します。 | 1 | x | ||||
sge - vs | 以上 | 1 | x | ||||
sgn - vs | Sign | 3 | x | ||||
sincos - vs | サインおよびコサイン | 8 | x | ||||
slt - vs | より小さい | 1 | x | ||||
sub - vs | 減算 | 1 | x | ||||
texldl - vs | ユーザーが調整可能な詳細レベルのテクスチャーのロード | 注意 1 を参照 | x | x | |||
vs | バージョン | 0 | x |
注意 :
- テクスチャーがキューブ マップの場合は slots = 5 になり、それ以外の場合は slots = 2 になります。