ps_3_0指示
本節包含圖元著色器 3_0 版指示的參考資訊。
有數種類型的圖元著色器指示,如表格所示。 右邊的數據行表示下列各項:
- 指令位置 - 每個指令所使用的指令位置數目。
- 安裝程式 - 像素著色器必須具有版本指示,而且必須是第一個指示。
- 算術 - 這些指示會在著色器中提供數學運算。
- 紋理 - 這些指示可用來載入和取樣紋理數據,以及修改紋理座標。
- 流程控制 - 這些指令會提供靜態和動態流程控制給指令的執行。
- 新增 - 這些指示是這個版本的新功能。
指令集
名字 | 描述 | 指示位置 | 設置 | 算術 | 質地 | 流控制 | 新增功能 |
---|---|---|---|---|---|---|---|
abs - ps | 絕對值 | 1 | x | ||||
新增 - ps | 新增兩個向量 | 1 | x | ||||
中斷 - ps | 中斷迴圈...endloop 或 rep...endrep 區塊 | 1 | x | ||||
break_comp - ps | 有條件地中斷迴圈...endloop 或 rep...endrep 區塊,具有比較 | 3 | x | ||||
斷層 - ps | 中斷迴圈...endloop 或 rep...endrep 區塊,以述詞為基礎 | 3 | x | ||||
通話 - ps | 呼叫子程式 | 2 | x | ||||
callnz bool - ps | 如果布爾快取器不是零,請呼叫子程式 | 3 | x | ||||
callnz pred - ps | 如果述詞快取器不是零,請呼叫子程式 | 3 | x | ||||
cmp - ps | 比較來源與 0 | 1 | x | ||||
crs - ps | 矢積 | 2 | x | ||||
dcl_samplerType (sm2, sm3 - ps asm) | 宣告取樣器的紋理維度 | 0 | x | ||||
dcl_semantics (sm3 - ps asm) | 宣告輸入和輸出緩存器 | 0 | x | x | |||
def - ps | 定義常數 | 0 | x | ||||
defb - ps | 定義布爾常數 | 0 | x | ||||
defi - ps | 定義整數常數 | 0 | x | ||||
dp2add - ps | 2D 點產品並新增 | 2 | x | ||||
dp3 - ps | 3D 點產品 | 1 | x | ||||
dp4 - ps | 4D 點產品 | 1 | x | ||||
dsx - ps | x 方向的變更率 | 2 | x | ||||
dsy - ps | Y 方向的變更率 | 2 | x | ||||
else - ps | 開始其他區塊 | 1 | x | ||||
endif - ps | 結束 if...else 區塊 | 1 | x | ||||
endloop - ps | 結束迴圈 | 2 | x | x | |||
endrep - ps | 重複區塊的結尾 | 2 | x | ||||
exp - ps | 全精確度 2x | 1 | x | ||||
frc - ps | 分數元件 | 1 | x | ||||
布爾 - ps | 開始 if 區塊 | 3 | x | ||||
if_comp - ps | 以比較開始 if 區塊 | 3 | x | ||||
如果 pred 為 - ps | 使用述詞開始 if 區塊 | 3 | x | ||||
標籤 - ps | 標籤 | 0 | x | ||||
記錄 - ps | 完整精確度記錄檔(x) | 1 | x | ||||
迴圈 - ps | 圈 | 3 | x | x | |||
lrp - ps | 線性插補 | 2 | x | ||||
m3x2 - ps | 3x2 乘法 | 2 | x | ||||
m3x3 - ps | 3x3 乘 | 3 | x | ||||
m3x4 - ps | 3x4 乘法 | 4 | x | ||||
m4x3 - ps | 4x3 乘法 | 3 | x | ||||
m4x4 - ps | 4x4 乘 | 4 | x | ||||
瘋狂 - ps | 相乘和新增 | 1 | x | ||||
max - ps | 最大 | 1 | x | ||||
分鐘 - ps | 最低 | 1 | x | ||||
mov - ps | 移動 | 1 | x | ||||
mul - ps | 乘 | 1 | x | ||||
nop - ps | 無作業 | 1 | x | ||||
nrm - ps | 正常化 | 3 | x | ||||
pow - ps | xy | 3 | x | ||||
ps | 版本 | 0 | x | ||||
rcp - ps | 倒數 | 1 | x | ||||
rep - ps | 重複 | 3 | x | ||||
ret - ps | 子程序結尾 | 1 | x | ||||
rsq - ps | 倒數平方根 | 1 | x | ||||
setp_comp | 設定述詞快取器 | 1 | x | ||||
sincos - ps | 正弦和餘弦 | 8 | x | ||||
子 - ps | 減去 | 1 | x | ||||
texkill - ps | 終止像素轉譯 | 2 | x | ||||
texld - ps_2_0和向上 | 取樣紋理 | 請參閱附注 1 | x | ||||
texldb - ps | 具有 w-component 中詳細層級偏差的紋理取樣 | 6 | x | ||||
texldl - ps | 從 w-component 使用詳細層級的紋理取樣 | 請參閱附注 2 | x | x | |||
texldd - ps | 使用使用者提供的漸層進行紋理取樣 | 3 | x | ||||
texldp - ps | 具有投影除以 w-component 的紋理取樣 | 請參閱附注 3 | x |
筆記:
- 如果紋理是立方體地圖,則位置 = 4;否則位置 = 1。
- 如果紋理是立方體地圖,則位置 = 5;否則,位置 = 2。
- 如果紋理是立方體地圖,則位置 = 4;否則,位置 = 3。
相關主題