Freigeben über


expp – vs

Bietet eine teilweise exponentielle Genauigkeit von 2x.

Syntax

expp dst, src. {x|y|z|w}

 

Hierbei gilt:

  • 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.
  • {x|y|z|w} ist der erforderliche Replikationsschwindel im Quellregister.

Bemerkungen

Vertex-Shaderversionen 1_1 2_0 2_x 2_sw 3_0 3_sw
expp x x x x x x

 

vs_1_1

Die Anweisung exp - vs . funktioniert je nach Vertex-Shaderversionen unterschiedlich.

In vs_1_1 liefert die expp-Anweisung die folgenden Ergebnisse:

v = the scalar value from the source register with a replicate swizzle

dest.x = pow(2, floor(v))
dest.y = v - floor(v)
dest.z = pow(2, v) (partial-precision)
dest.w = 1

In vs_2_0 und höher liefert die expp-Anweisung die folgenden Ergebnisse:

v = the scalar value from the source register with a replicate swizzle

dest.x = dest.y = dest.z = dest.y = pow(2, v) (partial-precision)

vs_2_0

In vs_2_0 und höher funktioniert die Anweisung wie folgt:

float V = the scalar value from the source register with a replicate swizzle

dest.x = dest.y = dest.z = dest.y = pow( 2, V ) (partial-precision)

Die Anweisung bietet mindestens 10 Bit Genauigkeit.

Anweisungen zum Vertex-Shader