说明 - vs_3_0

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

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

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

指令集

名称 说明 指令槽 安装 算术 纹理 流量控制 新建
abs - vs 绝对值 1 x
add - vs 添加两个向量 1 x
break - vs 中断 循环 - vs...endloop - vs or rep...endrep 1 x
break_comp - vs 有条件地突破 循环 - vs...endloop - vs or rep...endrep 块,带有比较 3 x
breakp - vs 中断 循环 - vs...endloop - vs or rep...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 结束如果 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 通过比较开始 if bool - vs block 3 x
如果 pred - vs 使用谓词条件开始 if bool - vs block 3 x
label - vs Label 0 x
lit - vs 计算照明 3 x
log - vs 全精度对数ー (x) 1 x
logp - vs 偏精度对数ー (x) 1 x
loop - 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 - vs Repeat 3 x
ret - vs 子例程的结束 1 x
rsq - vs 倒数平方根 1 x
setp_comp - vs 设置谓词寄存器 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
版本 0 x

 

注意:

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

顶点着色器说明