rsq: frente a
Calcula la raíz cuadrada recíproca (solo positiva) del escalar de origen.
rsq dst, src |
---|
where
- dst es el registro de destino.
- src es un registro de origen. El registro de origen requiere el uso explícito de swizzle de replicación, es decir, se debe especificar exactamente uno de los componentes .x, .y, .z, .w swizzle (o .r, .g, .b, .a equivalentes).
Versiones del sombreador de vértices | 1_1 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|
Lrq | x | x | x | x | x | x |
En el fragmento de código siguiente se muestran las operaciones realizadas.
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;
El valor absoluto se toma antes del procesamiento.
La precisión debe ser al menos 1,0/(2²²) error absoluto sobre el intervalo (1,0, 4,0), ya que las implementaciones comunes separarán mantisa y exponente.
Si el origen no tiene subíndices, se usa el componente x. La salida debe ser exactamente 1.0 si la entrada es exactamente 1.0. Una fuente de 0,0 produce infinito.