指示 - vs_3_0

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

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

  • 指令位置 - 每個指令所使用的指令位置數目。
  • 安裝程式 - 非算術指示。 每個著色器都必須有版本指令,而且必須是第一個指令。
  • 算術 - 這些指示會在著色器中提供數學運算。
  • 紋理 - 這些指示支援紋理位址查閱。
  • 流程式控制制 - 這些指令會新增流程式控制制,例如迴圈、重複, 以及 bool - vs...else...endif 比較。
  • 新增 - 這些指示是這個版本的新功能。

指令集

名稱 描述 指令位置 安裝程式 算術 紋理 流量控制 新增
abs - vs 絕對值 1 x
add - vs 新增兩個向量 1 x
break - vs 中斷 迴圈 - 與...endloop - vsrep...endrep 區塊 1 x
break_comp - vs 有條件地中斷 迴圈 - 與...endloop - vsrep...endrep 區塊,具有比較 3 x
breakp - vs 中斷 迴圈 - 與...endloop - vsrep...endrep 區塊,以述詞為基礎 3 x
call - vs 呼叫副程式 2 x
callnz bool - vs 如果布林暫存器不是零,請呼叫副程式 3 x
callnz pred - vs 如果述詞暫存器不是零,請呼叫副程式 3 x
crs - vs 跨產品 2 x
dcl_usage輸入 (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 三個元件點產品 1 x
dp4 - vs 四個元件點產品 1 x
dst - vs 距離 1 x
else - vs 開始 else 區塊 1 x
endif - vs 結束 if bool - vs...else區塊 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 - vs 如果 bool - vs block,請以比較開始 3 x
如果 pred - vs 如果布林值 - 與具有述詞條件的區塊,請開始 3 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 將資料從浮點暫存器移至整數暫存器 1 x
mul - vs 乘以 1 x
nop - vs 無作業。 1 x
nrm - vs 正規化 3 x
pow - vs xy 3 x
rcp - vs 互惠 1 x
rep - 與 Repeat 3 x
ret - vs 副程式結尾 1 x
rsq - vs 倒數平方根 1 x
setp_comp - 與 設定述詞暫存器 1 x
sge - vs 大於或等於比較 1 x
sgn - vs 簽署 3 x
sincos - vs 正弦和余弦 8 x
slt - vs 小於比較 1 x
sub - vs 減去 1 x
texldl - vs 具有使用者可調整詳細層級的紋理載入 請參閱附注 1 x x
vs 版本 0 x

 

注意:

  • 如果紋理是立方體貼圖,則位置 = 5;否則位置 = 2

頂點著色器指示