Freigeben über


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 repliziertem Swizzle, d. h. genau eine der Komponenten .x, .y, .z, .w swizzle (oder die Entsprechungen .r, .g, .b, .a) muss angegeben werden.

Bemerkungen

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 genommen.

Die Genauigkeit sollte mindestens 1,0/(2²) absoluter Fehler über den Bereich (1,0, 4,0) betragen, da gängige Implementierungen Mantissa und Exponent trennen.

Wenn die Quelle keine Subscripts aufweist, 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 Unendlichkeit.

Anweisungen zum Vertex-Shader