Freigeben über


log – vs

Log₂(x) mit voller Genauigkeit.

Syntax

log 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
log x x x x x x

 

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

float v = abs(src);
if (v != 0)
{
    dest.x = dest.y = dest.z = dest.w = 
        (float)(log(v)/log(2));  
}
else
{
    dest.x = dest.y = dest.z = dest.w = -FLT_MAX;
}

Diese Anweisung akzeptiert eine skalare Quelle, deren Zeichenbit ignoriert wird. Das Ergebnis wird auf alle vier Kanäle repliziert.

Diese Anweisung bietet eine Genauigkeit von 21 Bits.

Anweisungen zum Vertex-Shader