ソース レジスタの署名付きスケーリング
各チャネルから 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 - ps、 texreg2gb - ps、 texbem - ps または texbeml - ps を除き、任意の tex* 命令に対して任意のソース レジスタで _bx2 を使用できます。
例
次の使用例は、テクスチャをサンプリングし、データを -1 から +1 の範囲に変換し、ドット積を計算します。
tex t0 ; Read a texture color.
dp3_sat r0, t0_bx2, v0_bx2 ; Calculate a dot product.
関連トピック