rsq – vs

Berechnet die reziproke Quadratwurzel (nur positiv) des Quellskalars.

Syntax

rsq dst, src

where

  • dst ist das Zielregister.
  • src ist ein Quellregister. Das Quellregister erfordert die explizite Verwendung von "replicate swizzle", d.h. genau eine der .x-, .y-, .z-, .w swizzle-Komponenten (oder die Entsprechungen .r, .g, .b, .a) muss angegeben werden.

Hinweise

Vertex-Shaderversionen 1_1 2 _ 0 2 _ x 2 _ sw 3 _ 0 3 _ sw
rsq x x x x x x

Das folgende Codefragment zeigt die ausgeführten Vorgänge.

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;

Der absolute Wert wird vor der Verarbeitung übernommen.

Die Genauigkeit sollte mindestens 1,0/(2): absoluter Fehler über dem Bereich (1,0, 4,0) sein, da allgemeine Implementierungen Mantisse und Exponent trennen.

Wenn source keine Unterskripts enthält, wird die x-Komponente verwendet. Die Ausgabe muss genau 1,0 sein, wenn die Eingabe genau 1,0 ist. Eine Quelle von 0,0 ergibt unendlich.

Vertex-Shader-Anweisungen