说明 - vs_2_0

本部分包含顶点着色器版本 2_0 指令的参考信息。

有多种类型的顶点着色器指令,如表中所示。 右侧的列表示以下内容:

  • 指令槽 - 每个指令使用的指令槽数。
  • 安装程序 - 非算术指令。 每个着色器都必须有一个版本指令,并且它必须是第一个指令。
  • 算术 - 这些指令在着色器中提供数学运算。
  • 流控制 - 这些指令添加流控制功能,例如 循环...endloop如果.........endif - vs,以及子例程调用。
  • 新增 - 这些说明是此版本的新增功能。

指令集

名字 描述 指令槽 设置 算术 流控制 新增功能
abs - vs 绝对值 1 x x
添加 - vs 添加两个向量 1 x
调用 - vs 调用子例程 2 x x
callnz bool - vs 如果布尔寄存器不为零,则调用子例程 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
挑衅 - vs 定义整数常量 0 x x
dp3 - vs 三分量点产品 1 x
dp4 - vs 四分量点积 1 x
dst - vs 计算距离向量 1 x
其他 - vs 开始其他 - vs 1 x x
endif - vs 如果 bool - vs ...else - vs 块,则结束 1 x x
endloop - vs 循环的结束 - 与 2 x x
endrep - vs 重复块的结束 2 x x
exp - vs 全精度 2x 1 x
expp - vs 部分精度 2x 1 x
frc - vs 小数部分 1 x
bool - vs 如果 bool - vs 块(使用布尔条件),请开始 3 x x
标签 - vs 标签 0 x x
点亮 - vs 部分照明计算 3 x
日志 - vs 全精度对数(x) 1 x
logp - vs 部分精度对数(x) 1 x
循环 - vs 3 x x
lrp - vs 线性内插 2 x 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
疯狂 - vs 相乘和添加 1 x
max - vs 最大 1 x
分钟 - 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
代表 - vs 重复 3 x x
重试 - vs 子例程或 main 的结尾 1 x x
rsq - vs 倒数平方根 1 x
sge - vs 大于或等于比较 1 x
sgn - vs 标志 3 x x
sincos - vs 正弦和余弦值 8 x x
lt - vs 小于比较 1 x
子 - vs 减去 1 x
版本 0 x

 

顶点着色器指令