命令 - vs_2_0
命令 - vs_2_0
ここでは、頂点シェーダ バージョン 2_0 の命令に関するリファレンス情報を記載する。
表に示すように、頂点シェーダの命令にはいくつかの種類がある。右側の列の意味は、次のとおりである。
- 命令スロット - 各命令が使う命令スロット数。
- セットアップ - 非算術命令。各シェーダにはバージョン命令が必要であり、これは最初の命令でなければならない。
- 算術 - この命令は、シェーダ内での算術演算を行う。
- マクロ演算子 - この命令は、算術命令を組み合わせてより高度な機能を実現する。マクロ演算子の使用はオプションである。基になる実装を最適化できるように、マクロ演算子、特に行列乗算命令 (m3x2、m3x3、m3x4、m4x3、m4x4) の使用を推奨する。
- フロー制御 - この命令は、loop...endloop、if...else...endif のようなフロー制御能力と、サブルーチン呼び出しを追加する。
- 新規 - この呼び出しは、このバージョンの新機能である。
命令セット
名前 | 説明 | 命令スロット | セットアップ | 算術 | マクロ演算子 | フロー制御 | 新規 |
---|---|---|---|---|---|---|---|
abs | 絶対値 | 1 | x | x | |||
add | 2 つのベクトルの加算 | 1 | x | ||||
call | サブルーチンを呼び出す | 2 | x | x | |||
callnz | 0 でない場合にサブルーチンを呼び出す | 3 | x | x | |||
crs | 外積 | 2 | x | x | |||
dcl_usage | 入力頂点レジスタを宣言する (「レジスタ - vs_2_0」を参照すること) | 0 | x | ||||
def | 浮動小数点定数を定義する | 0 | x | ||||
defb | ブール型定数を定義する | 0 | x | x | |||
defi | 整数型定数を定義する | 0 | x | x | |||
dp3 | 3 成分の内積 | 1 | x | ||||
dp4 | 4 要素の内積 | 1 | x | ||||
dst | 距離関連のデータを計算する | 1 | x | ||||
else | else ブロックを開始する | 1 | x | x | x | ||
endif | if...else ブロックを終了する | 1 | x | x | |||
endloop | loop ブロックを終了する | 2 | x | x | |||
endrep | repeat ブロックを終了する | 2 | x | x | |||
exp | 完全精度の 2x | 1 | x | ||||
expp | 部分精度の 2x | 1 | x | x | |||
frc | 小数部 | 1 | x | ||||
if | if ブロックを開始する | 3 | x | x | |||
label | ラベルを付ける | 0 | x | x | |||
lit | 部分的なライティング計算 | 3 | x | ||||
log | 完全精度の log2(x) | 1 | x | ||||
logp | 部分精度の log2(x) | 1 | x | ||||
loop | ループ | 3 | x | x | |||
lrp | 線形補間 | 2 | x | x | |||
m3x2 | 3 × 2 行列乗算 | 2 | x | ||||
m3x3 | 3 × 3 行列乗算 | 3 | x | ||||
m3x4 | 3 × 4 行列乗算 | 4 | x | ||||
m4x3 | 4 × 3 行列乗算 | 3 | x | ||||
m4x4 | 4 × 4 行列乗算 | 4 | x | ||||
mad | 積和 | 1 | x | ||||
max | 最大 | 1 | x | ||||
min | 最小 | 1 | x | ||||
mov | 移動 | 1 | x | ||||
mova | 浮動小数点レジスタからアドレス レジスタ (a0) にデータを移動する | 1 | x | x | |||
mul | 乗算 | 1 | x | ||||
nop | 空命令 (何の演算も実行しない) | 1 | x | ||||
nrm | 4D ベクトルを正規化する | 3 | x | x | |||
pow | xy | 3 | x | x | |||
rcp | 逆数 | 1 | x | ||||
rep | 繰り返す | 3 | x | x | |||
ret | サブルーチンまたはメインの終了 | 1 | x | x | |||
rsq | 逆数平方根 | 1 | x | ||||
sge | 以上 | 1 | x | ||||
sgn | 正負の符号 | 3 | x | x | |||
sincos | 正弦と余弦 | 8 | x | x | |||
slt | より小さい | 1 | x | ||||
vs | 頂点シェーダのバージョン | 0 | x |