Share via


ソース レジスタの署名付きスケーリング

各チャネルから 0.5 を減算し、結果を 2.0 でスケーリングします。 bx2 という名前は、バイアスとスケール タイム 2 (実行する操作) から取得されます。

構文

source register_bx2

登録

ソース レジスタ。 レジスタの種類の詳細については、「 ps_1_1__ps_1_2__ps_1_3__ps_1_4レジスタ」を参照してください。

注釈

この操作は、データを [0.0 から 1.0] から [-1.0 から 1.0] に拡張するために一般的に使用されます。 この修飾子は、算術命令で使用するように設計されています。 この修飾子は、ドット積命令 (dp3 - ps) への入力でよく使用されます。 0 から 1 の範囲外のデータに対して_bx2を使用すると、未定義の結果が生成される可能性があります。

署名されたスケーリング操作は、次の命令が実行される前に、レジスタから読み取られたデータに適用されます。 この操作は、次のように 4 つのカラー チャネル (RGBA) すべてに適用されます。

y = 2(x - 0.5)

レジスタの内容は変更されません。 修飾子は、レジスタから読み取られたデータにのみ適用されます。

この修飾子は ソース レジスタ反転 と相互に排他的であるため、同じレジスタに適用することはできません。

バージョン情報:

  • ps_1_0とps_1_1では、texm3x2* および texm3x3* 形式のテクスチャ命令に任意のソース レジスタで _bx2 を使用できます。 _bx2は、texreg2ar - ps や texreg2gb - ps などの他のテクスチャ命令では使用できません。
  • ps_1_2とps_1_3の場合は、 texreg2ar - pstexreg2gb - pstexbem - ps または texbeml - ps を除き、任意の tex* 命令に対して任意のソース レジスタで _bx2 を使用できます。

次の使用例は、テクスチャをサンプリングし、データを -1 から +1 の範囲に変換し、ドット積を計算します。

tex t0                        ; Read a texture color.
dp3_sat r0, t0_bx2, v0_bx2    ; Calculate a dot product.

ピクセル シェーダー ソース レジスタ修飾子