Freigeben über


Signierte Skalierung des Quellregisters

Subtrahiert 0,5 von jedem Kanal und skaliert das Ergebnis um 2,0. Der Name bx2 stammt aus bias und scale-times-two, d. h. dem Vorgang, der ausgeführt wird.

Syntax

source register_bx2

Registrieren

Quellregister. Weitere Informationen zu Registrierungstypen finden Sie unter ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registers.

Bemerkungen

Dieser Vorgang wird häufig verwendet, um Daten von [0.0 auf 1.0] auf [-1.0 bis 1.0] zu erweitern. Dieser Modifizierer ist für die Verwendung mit den arithmetischen Anweisungen konzipiert. Dieser Modifizierer wird häufig für Eingaben für die Punktproduktanweisung (dp3 – ps) verwendet. Die Verwendung von _bx2 für Daten außerhalb des Bereichs 0 bis 1 kann zu nicht definierten Ergebnissen führen.

Der signierte Skalierungsvorgang wird auf die Daten angewendet, die aus dem Register gelesen werden, bevor die nächste Anweisung ausgeführt wird. Der Vorgang wird wie folgt auf alle vier Farbkanäle (RGBA) angewendet:

y = 2(x - 0.5)

Der Inhalt des Registers wird nicht geändert. Der Modifizierer wird nur auf die aus dem Register gelesenen Daten angewendet.

Dieser Modifizierer schließt sich mit Quellregister invert gegenseitig aus, sodass er nicht auf dasselbe Register angewendet werden kann.

Versionsinformationen:

  • Für ps_1_0 und ps_1_1 können Sie _bx2 in jedem Quellregister für Texturanweisungen im Format texm3x2* und texm3x3* verwenden. _bx2 kann nicht für andere Texturanweisungen wie texreg2ar - ps oder texreg2gb - ps verwendet werden.
  • Für ps_1_2 und ps_1_3 können Sie _bx2 in jedem Quellregister für jede tex*-Anweisung verwenden, außer texreg2ar - ps, texreg2gb - ps, texbem - ps oder texbeml - ps.

Beispiel

In diesem Beispiel wird eine Textur gemustert, Daten in den Bereich von -1 bis +1 konvertiert und ein Punktprodukt berechnet.

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

Pixelshader-Quellregistermodifizierer