expp - vs
Provides partial precision exponential 2x.
Syntax
expp dst, src.{x|y|z|w} |
---|
Where:
- dst is the destination register.
- src is a source register. Source register requires explicit use of replicate swizzle, that is, exactly one of the .x, .y, .z, .w swizzle components (or the .r, .g, .b, .a equivalents) must be specified.
- {x|y|z|w} is the required replicate swizzle on source register.
Remarks
Vertex shader versions | 1_1 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|
expp | x | x | x | x | x | x |
vs_1_1
The exp - vs instruction operates differently depending on vertex shader versions.
In vs_1_1, the expp instruction gives the following results:
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 and up, the expp instruction gives the following results:
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 and up, the instruction works like this:
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)
The instruction provides at least 10 bits of precision.
Related topics