rsq - vs
仅计算源标量) (正数的倒数平方根。
语法
rsq dst, src |
---|
其中
- dst 是目标寄存器。
- src 是源寄存器。 源寄存器需要显式使用复制重排,即必须指定 (或 .r、.g、.b、.a 等值) 的 .x、.y、.z、.w 重排组件之一。
备注
顶点着色器版本 | 1_1 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|
rsq | x | x | x | x | x | x |
以下代码片段显示执行的操作。
float f = abs(src0);
if (f == 0)
f = FLT_MAX
else
{
if (f != 1.0)
f = 1.0/(float)sqrt(f);
}
dest.z = dest.y = dest.z = dest.w = f;
绝对值是在处理之前获取的。
精度应至少为 1.0/ (2²²) (1.0、4.0) 范围内的绝对误差,因为常见实现将分隔 mantissa 和指数。
如果 source 没有下标,则使用 x 组件。 如果输入正好为 1.0,则输出必须恰好为 1.0。 0.0 的源生成无穷大。
相关主题