次の方法で共有


命令 - vs_2_0

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

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

  • 命令スロット - 各命令で使われる命令スロットの数です。
  • セットアップ - 非算術命令すべてのシェーダーにはバージョン命令が必要で、それが最初の命令でなければなりません。
  • 算術 - これらの命令は、シェーダー内の算術演算を行います。
  • フロー制御 - これらの命令は、loop...endloopif...else...endif - vs などのフロー制御能力、およびサブルーチンの呼び出しを追加します。
  • 新規 - これらの命令は、このバージョンで新たに追加された命令です。

命令セット

名前 説明 命令スロット セットアップ 算術 フロー制御 新規
abs - vs 絶対値 1 x x
add - vs 2 つのベクトルの加算 1 x
call - vs サブルーチンを呼び出します。 2 x x
callnz bool - vs ブール型レジスタが 0 でない場合にサブルーチンを呼び出します。 3 x x
crs - vs 外積 2 x x
dcl_usage input (sm1, sm2, sm3 - vs asm) 頂点入力レジスタの宣言 (「レジスタ - vs_2_0」を参照) 0 x
def - vs 定数の定義 0 x
defb - vs ブール型定数を定義します。 0 x x
defi - vs 整数型定数を定義します。 0 x x
dp3 - vs 3 要素の内積 1 x
dp4 - vs 4 要素の内積 1 x
dst - vs 距離ベクトルの計算 1 x
else - vs else - vs ブロックの開始 1 x x
endif - vs if bool - vs...else - vs ブロックの終了 1 x x
endloop - vs loop - vs ブロックの終了 2 x x
endrep - vs 繰り返しブロックを終了します。 2 x x
exp - vs 完全精度の 2x 1 x
exp - vs 部分精度の 2x 1 x
frc - vs 小数部 1 x
if bool - vs (ブール条件を使用した) if bool - vs ブロックの開始 3 x x
label - vs ラベル 0 x x
lit - vs 部分的なライティング計算 3 x
log - vs 完全精度の log2(x) 1 x
logp - vs 部分精度の log2(x) 1 x
loop - vs Loop 3 x x
lrp - vs 線形補間 2 x 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 浮動小数点レジスタからアドレス レジスタ (a0) へのデータの移動 1 x x
mul - vs 乗算 1 x
nop - vs 操作なし 1 x
nrm - vs 4D ベクトルの正規化 3 x x
pow - vs xy 3 x x
rcp - vs 逆数 1 x
rep - vs 繰り返します。 3 x x
ret - vs サブルーチンまたは main の終了 1 x x
rsq - vs 逆数平方根 1 x
sge - vs 以上 1 x
sgn - vs Sign 3 x x
sincos - vs サインおよびコサイン 8 x x
slt - vs より小さい 1 x
sub - vs 減算 1 x
vs バージョン 0 x