次の方法で共有


rsq - vs

ソース スカラーの逆平方根 (正のみ) を計算します。

構文

rsq dst、src

 

where

  • dst は宛先レジスタです。
  • src はソース レジスタです。 ソース レジスタでは、レプリケート スウィズルを明示的に使用する必要があります。つまり、.x、.y、.z、.w swizzle コンポーネント (または 、.r、.g、.b、.a 相当物) のいずれかを指定する必要があります。

解説

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

 

次のコード フラグメントは、実行された操作を示しています。

float f = abs(src0);
if (f == 0)
    f = FLT_MAX
else
{
    if (f != 1.0)
        f = 1.0/(float)sqrt(f);
}

dest.z = dest.y = dest.z = dest.w = f;

絶対値は処理前に取得されます。

一般的な実装では仮数と指数が分離されるため、有効桁数は範囲 (1.0,4.0) に対する絶対誤差が少なくとも 1.0/(2²²) である必要があります。

source に添字がない場合は、x コンポーネントが使用されます。 入力が正確に 1.0 の場合、出力は正確に 1.0 である必要があります。 ソースが 0.0 の場合、無限大が得られます。

頂点シェーダーの手順