次の方法で共有


ソースレジスタ符号化スケーリング

各チャンネルから 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 - pstexreg2gb - 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.