次の方法で共有


expp - vs

部分精度指数 2x を提供します

構文

expp dst、src。{x|y|z|w}

 

この場合、

  • dst は宛先レジスタです。
  • src はソース レジスタです。 ソース レジスタでは、レプリケート swizzle を明示的に使用する必要があります。つまり、.x、.y、.z、.w swizzle コンポーネント (または.r、.g、.b、.a と同等のもの) の 1 つを指定する必要があります。
  • {x|y|z|w} は、ソース レジスタで必要なレプリケート スワイズルです。

解説

頂点シェーダーのバージョン 1_1 2_0 2_x 2_sw 3_0 3_sw
expp x x x x x x

 

vs_1_1

exp - vs 命令は、頂点シェーダーのバージョンによって動作が異なります。

vs_1_1では、expp 命令によって次の結果が得られます。

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

vs_2_0以降では、expp 命令によって次の結果が得られます。

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

vs_2_0とアップでは、命令は次のように動作します。

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)

命令は、少なくとも 10 ビットの精度を提供します。

頂点シェーダーの手順