说明 - vs_2_x

本部分包含顶点着色器版本2_x说明的参考信息。

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

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

指令集

名字 描述 指令槽 设置 算术 流控制 新增功能
abs - vs 绝对值 1 x
添加 - vs 添加两个向量 1 x
中断 - vs 循环的爆发 - vs...endloop - vsrep...endrep 1 x x
break_comp - vs 有条件地突破 循环 - vs...endloop - vsrep...endrep 块,并进行比较 3 x x
断点 - vs 根据谓词,从 循环-vs...endloop - vsrep...endrep 3 x x
调用 - vs 调用子例程 2 x
callnz bool - vs 如果布尔寄存器不为零,则调用子例程 3 x
callnz pred - vs 如果谓词寄存器不为零,则调用子例程 3 x x
crs - vs 矢积 2 x
dcl_usage 输入 (sm1, sm2, sm3 - vs asm) 声明输入顶点寄存器(请参阅 寄存器 - vs_2_x 0 x
def - vs 定义常量 0 x
defb - vs 定义布尔常量 0 x
挑衅 - vs 定义整数常量 0 x
dp3 - vs 三分量点产品 1 x
dp4 - vs 四分量点积 1 x
dst - vs 计算距离向量 1 x
其他 - vs 开始其他 - vs 1 x
endif - vs 如果 bool - vs ...else - vs 块,则结束 1 x
endloop - vs 循环的结束 - 与 2 x
endrep - vs 重复块的结束 2 x
exp - vs 全精度 2x 1 x
expp - vs 部分精度 2x 1 x
frc - vs 小数部分 1 x
bool - vs 如果 bool - vs 块(使用布尔条件),请开始 3 x
if_comp - vs 如果 bool - 与 块比较,请开始 3 x x
pred - vs 如果布尔值 - 与具有谓词条件的 块,请开始 3 x x
标签 - vs 标签 0 x
点亮 - vs 部分照明计算 3 x
日志 - vs 全精度对数(x) 1 x
logp - vs 部分精度对数(x) 1 x
循环 - vs 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
疯狂 - vs 相乘和添加 1 x
max - vs 最大 1 x
分钟 - 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
代表 - vs 重复 3 x
重试 - 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
lt - vs 小于比较 1 x
子 - vs 减去 1 x
版本 0 x

 

顶点着色器指令