说明 - vs_3_0

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

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

  • 指令槽 - 每个指令使用的指令槽数。
  • 安装程序 - 非算术指令。 每个着色器都必须有一个版本指令,并且它必须是第一个指令。
  • 算术 - 这些指令在着色器中提供数学运算。
  • 纹理 - 这些说明支持纹理地址查找。
  • 流控制 - 这些指令添加流控制,例如循环、重复和 (如果 bool - vs.........endif 比较)。
  • 新增 - 这些说明是此版本的新增功能。

指令集

名字 描述 指令槽 设置 算术 质地 流控制 新增功能
abs - vs 绝对值 1 x
添加 - vs 添加两个向量 1 x
中断 - vs 循环的爆发 - vs...endloop - vsrep...endrep 1 x
break_comp - vs 有条件地突破 循环 - vs...endloop - vsrep...endrep 块,并进行比较 3 x
断点 - vs 根据谓词,从 循环-vs...endloop - vsrep...endrep 3 x
调用 - 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
挑衅 - vs 声明整数常量 0 x
dp3 - vs 三分量点产品 1 x
dp4 - vs 四分量点积 1 x
dst - vs 距离 1 x
其他 - vs 开始 其他 1 x
endif - vs 如果 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
bool - vs 如果 bool - vs 块(使用布尔条件),请开始 3 x
if_comp - vs 如果 bool - 与 块比较,请开始 3 x
pred - vs 如果布尔值 - 与具有谓词条件的 块,请开始 3 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 将数据从浮点寄存器移动到整数寄存器 1 x
mul - vs 1 x
nop - vs 无作 1 x
nrm - vs 正常化 3 x
pow - vs xy 3 x
rcp - vs 倒数 1 x
代表 - vs 重复 3 x
重试 - vs 子例程的结尾 1 x
rsq - vs 倒数平方根 1 x
setp_comp - vs 设置谓词寄存器 1 x
sge - vs 大于或等于比较 1 x
sgn - vs 标志 3 x
sincos - vs 正弦和余弦值 8 x
lt - vs 小于比较 1 x
子 - vs 减去 1 x
texldl - vs 具有用户可调整的详细信息级别的纹理负载 请参阅注释 1 x x
版本 0 x

 

笔记:

  • 如果纹理是立方体贴图,则槽数 = 5;否则槽 = 2

顶点着色器指令