rsq - vs

Calcola la radice quadrata reciproca (solo positiva) del scalare di origine.

Sintassi

rsq dst, src

 

dove

  • dst è il registro di destinazione.
  • src è un registro di origine. Il registro di origine richiede l'uso esplicito di swizzle replicate, ovvero è necessario specificare esattamente uno dei componenti .x, .y, .z, .w swizzle (o .r, .g, .b, .a equivalenti).

Commenti

Versioni del vertex shader 1_1 2_0 2_x 2_sw 3_0 3_sw
Rsq x x x x x x

 

Il frammento di codice seguente mostra le operazioni eseguite.

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;

Il valore assoluto viene acquisito prima dell'elaborazione.

La precisione deve essere almeno 1,0/(2²²) errore assoluto nell'intervallo (1,0, 4,0) perché le implementazioni comuni separano mantissa ed esponente.

Se l'origine non contiene pedice, viene usato il componente x. L'output deve essere esattamente 1.0 se l'input è esattamente 1.0. Una fonte di 0,0 produce infinito.

Istruzioni per vertex shader