Partager via


rsq - vs

Calcule la racine carrée réciproque (positive uniquement) du scalaire source.

Syntaxe

rsq dst, src

 

where

  • dst est le registre de destination.
  • src est un registre source. Le registre source nécessite l’utilisation explicite de la réplication swizzle, c’est-à-dire exactement l’un des composants .x, .y, .z, .w swizzle (ou les équivalents .r, .g, .b, .a) doit être spécifié.

Notes

Versions du nuanceur de vertex 1_1 2_0 2_x 2_sw 3_0 3_sw
Rsq x x x x x x

 

Le fragment de code suivant montre les opérations effectuées.

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;

La valeur absolue est prise avant le traitement.

La précision doit être d’au moins 1,0/(2²²) erreur absolue sur la plage (1.0, 4.0), car les implémentations courantes séparent la mantisse et l’exposant.

Si la source n’a pas d’indices, le composant x est utilisé. La sortie doit être exactement 1.0 si l’entrée est exactement 1.0. Une source de 0,0 produit l’infini.

Instructions sur le nuanceur de vertex