源寄存器签名缩放
从每个通道中减去 0.5,并将结果缩放为 2.0。 名称 bx2 来自偏差和缩放时间 2,即它执行的操作。
语法
source register_bx2
注册
源注册。 有关寄存器类型的详细信息,请参阅 ps_1_1__ps_1_2__ps_1_3__ps_1_4 寄存器。
备注
此操作通常用于将数据从 [0.0 到 1.0] 扩展到 [-1.0 到 1.0]。 此修饰符旨在与算术指令一起使用。 此修饰符通常用于输入点积指令 (dp3 - ps) 。 对超出范围 0 到 1 的数据使用_bx2可能会产生未定义的结果。
在运行下一个指令之前,已签名的缩放操作将应用于从寄存器读取的数据。 此操作将应用于 RGBA) (所有四个颜色通道,如下所示:
y = 2(x - 0.5)
寄存器的内容不会更改。 修饰符仅适用于从寄存器读取的数据。
此修饰符与 源寄存器反转 互斥,因此无法将其应用于同一寄存器。
版本信息:
- 对于ps_1_0和ps_1_1,可以在任何源寄存器上使用_bx2,以获取 texm3x2* 和 texm3x3* 形式的纹理指令。 _bx2不能用于任何其他纹理指令,例如 texreg2ar - ps 或 texreg2gb - ps。
- 对于ps_1_2和ps_1_3,可以在任何源寄存器上使用_bx2,任何 tex* 指令除外: texreg2ar - ps、 texreg2gb - ps、 texbem - ps 或 texbeml - ps。
示例
此示例对纹理采样,将数据转换为 -1 到 +1 的范围,并计算点积。
tex t0 ; Read a texture color.
dp3_sat r0, t0_bx2, v0_bx2 ; Calculate a dot product.
相关主题