rsq - vs

Calcula a raiz quadrada recíproca (somente positivo) do escalar de origem.

Sintaxe

rsq dst, src

 

onde

  • dst é o registro de destino.
  • src é um registro de origem. O registro de origem requer o uso explícito de swizzle de replicação, ou seja, exatamente um dos componentes .x, .y, .z, .w swizzle (ou os equivalentes .r, .g, .b, .a) devem ser especificados.

Comentários

Versões do sombreador de vértice 1_1 2_0 2_x 2_sw 3_0 3_sw
rsq x x x x x x

 

O fragmento de código a seguir mostra as operações executadas.

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;

O valor absoluto é obtido antes do processamento.

A precisão deve ser pelo menos 1.0/(2²²) erro absoluto sobre o intervalo (1.0, 4.0) porque implementações comuns separarão mantissa e expoente.

Se a origem não tiver subscritos, o componente x será usado. A saída deverá ser exatamente 1.0 se a entrada for exatamente 1.0. Uma fonte de 0,0 produz infinito.

Instruções de sombreador de vértice