共用方式為


指示 - vs_2_x

本節包含頂點著色器版本2_x指示的參考資訊。

頂點著色器指令有數種類型,如表格所示。 右邊的資料行表示下列各項:

  • 指令位置 - 每個指令所使用的指令位置數目。
  • 安裝程式 - 非算術指示。 每個著色器都必須有版本指令,而且必須是第一個指令。
  • 算術 - 這些指示會在著色器中提供數學運算。
  • 流程式控制制 - 這些指示會新增流程式控制制功能,例如 迴圈 - 與...endloop - vsif bool - vs...else...endif和副程式呼叫。
  • 新增 - 這些指示是這個版本的新功能。

指令集

名稱 描述 指令位置 安裝程式 算術 流量控制 新增
abs - 與 絕對值 1 x
add - vs 新增兩個向量 1 x
break - vs 中斷 迴圈 - 與...endloop - vsrep...endrep 區塊 1 x x
break_comp - 與 有條件地中斷 迴圈 - 與...endloop - vsrep...endrep 區塊,具有比較 3 x x
breakp - vs 中斷 迴圈 - 與...endloop - vsrep...endrep 區塊,以述詞為基礎 3 x x
call - vs 呼叫副程式 2 x
callnz bool - vs 如果布林暫存器不是零,則呼叫副程式 3 x
callnz pred - vs 如果述詞暫存器不是零,則呼叫副程式 3 x x
crs - vs 跨產品 2 x
dcl_usage輸入 (sm1、sm2、sm3 - 與 asm) 宣告輸入頂點暫存器 (請參閱暫存器 - vs_2_x) 0 x
def - vs 定義常數 0 x
defb - vs 定義布林常數 0 x
defi - vs 定義整數常數 0 x
dp3 - vs 三個元件點產品 1 x
dp4 - vs 四個元件點產品 1 x
dst - vs 計算距離向量 1 x
else - vs 開始 其他專案 - 與 區塊 1 x
endif - vs 結束 if bool - vs...else - vs block 1 x
endloop - vs 迴圈結尾 - 與區塊 2 x
endrep - vs 重複區塊結尾 2 x
exp - vs 完整精確度 2x 1 x
expp - vs 部分有效位數 2x 1 x
frc - vs 小陣列件 1 x
if bool - vs 如果 bool - vs block (使用布林值條件) 開始 3 x
if_comp - 與 如果 bool - vs block,請以比較開始 3 x x
if pred - vs 如果 bool - vs區塊具有述詞條件,請開始 3 x x
label - vs 標籤 0 x
lit - vs 部分光源計算 3 x
log - vs 完整精確度記錄檔 (x) 1 x
logp - vs 部分精確度記錄檔 (x) 1 x
迴圈 - 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 將資料從浮點暫存器移至位址暫存器, (a0) 1 x
mul - vs 乘以 1 x
nop - vs 無作業。 1 x
nrm - vs 正規化 4D 向量 3 x
pow - vs xy 3 x
rcp - vs 互惠 1 x
rep - vs Repeat 3 x
ret - vs 副程式或 main 的結尾 1 x
rsq - vs 相互平方根 1 x
setp_comp - vs 設定述詞暫存器 1 x x
sge - vs 大於或等於比較 1 x
sgn - vs 簽署 3 x
sincos - vs 正弦和余弦 8 x
slt - vs 小於比較 1 x
sub - vs 減去 1 x
vs 版本 0 x

 

頂點著色器指示