ソースレジスタ符号化スケーリング
各チャンネルから 0.5 を減算し、その結果に 2.0 を乗算します。構文の bx2 は、実行される処理であるバイアスと倍加に由来しています。
構文
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) に対する入力で使用されます。_bx2 を 0 ~ 1 の範囲外で使用すると、不定の結果が生成されることがあります。
符号化スケーリング処理は、次の命令が実行される前にレジスタから読み取られたデータに適用されます。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.