手順 - vs_2_0

このセクションには、頂点シェーダー バージョン 2_0 命令の参照情報が含まれています。

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

  • 命令スロット - 各命令で使用される命令スロットの数。
  • セットアップ - 算術演算以外の命令。 すべてのシェーダーにはバージョン命令が必要であり、最初の命令である必要があります。
  • 算術 - これらの命令は、シェーダーの算術演算を提供します。
  • フロー制御 - 次の手順では、 ループなどのフロー制御機能を追加します。endloopif...else...endif - と サブルーチンの呼び出し。
  • 新規 - これらの手順は、このバージョンの新機能です。

命令セット

名前 説明 命令スロット セットアップ 算術 フロー制御 新規作成
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入力 (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 block 1 x x
endloop - vs ループの終了 - vs ブロック 2 x x
endrep - vs 繰り返しブロックの末尾 2 x x
exp - vs 完全精度 2x 1 x
expp - vs 部分精度 2x 1 x
frc - vs 小数部のコンポーネント 1 x
if bool - vs if bool - vs block を開始します (ブール条件を使用) 3 x x
label - vs Label 0 x x
lit - vs 部分的な照明計算 3 x
log - vs 完全有効桁数ログ₂(x) 1 x
logp - vs 部分有効桁数ログ₂(x) 1 x
loop - vs Loop 3 x x
lrp - vs 線形補間 2 x x
m3x2 - vs 3 x 2 乗算 2 x
m3x3 - vs 3 x 3 乗算 3 x
m3x4 - vs 3 x 4 乗算 4 x
m4x3 - vs 4 x 3 乗算 3 x
m4x4 - vs 4 x 4 乗算 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 Repeat 3 x x
ret - vs サブルーチンまたはメインの末尾 1 x x
rsq - vs 逆平方根 1 x
sge - vs 以上の比較 1 x
sgn - vs 署名 3 x x
sincos - vs サインとコサイン 8 x x
slt - vs 比較より小さい 1 x
sub - vs 減算 1 x
バージョン 0 x

 

頂点シェーダーの手順