本部分包含顶点着色器版本 3_0 指令的参考信息。
有多种类型的顶点着色器指令,如表中所示。 右侧的列表示以下内容:
- 指令槽 - 每个指令使用的指令槽数。
- 安装程序 - 非算术指令。 每个着色器都必须有一个版本指令,并且它必须是第一个指令。
- 算术 - 这些指令在着色器中提供数学运算。
- 纹理 - 这些说明支持纹理地址查找。
- 流控制 - 这些指令添加流控制,例如循环、重复和 (如果 bool - vs.........endif 比较)。
- 新增 - 这些说明是此版本的新增功能。
指令集
| 名字 | 描述 | 指令槽 | 设置 | 算术 | 质地 | 流控制 | 新增功能 |
|---|---|---|---|---|---|---|---|
| abs - vs | 绝对值 | 1 | x | ||||
| 添加 - vs | 添加两个向量 | 1 | x | ||||
| 中断 - vs | 循环的爆发 - vs...endloop - vs 或 rep...endrep 块 | 1 | x | ||||
| break_comp - vs | 有条件地突破 循环 - vs...endloop - vs 或 rep...endrep 块,并进行比较 | 3 | x | ||||
| 断点 - vs | 根据谓词,从 循环-vs...endloop - vs 或 rep...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
相关主题