rcp - vs

ソース スカラーの逆数を計算します。

構文

rcp dst, src

この場合

  • dst はデスティネーション レジスタです。
  • src はソース レジスタです。ソース レジスタでは、複製スィズルを明示的に使う必要があります。つまり、.x、.y、.z、.w スィズル要素 (または同等の .r、.g、.b、.a) のうち 1 つだけを指定しなければなりません。

解説 

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

次のコードは、実行される演算を示しています。

float f = src0;
if(f == 0.0f)
{
    f = FLT_MAX;
}
else 
{
    if(f != 1.0)
    {
        f = 1/f;
    }
}

dest = f;

入力が 1.0 の場合は、出力も 1.0 になる必要があります。0.0 のソースは無限大です。

(1.0, 2.0) の範囲にわたって、出力の精度は、絶対値で少なくとも 1.0/(222) 以内の誤差を持つものである必要があります。これは、通常の実装では仮数と指数が分離されるためです。

ソースに添字がない場合は、x 要素が使用されます。