Signerad skalning för källregister

Subtraherar 0,5 från varje kanal och skalar resultatet med 2,0. Namnet bx2 kommer från bias och skalning gånger två, vilket är den operation den utför.

Syntax

source register_bx2

Registrera dig

Källförteckning Mer information om registertyper finns i ps_1_1__ps_1_2__ps_1_3__ps_1_4 Register.

Anmärkningar

Den här åtgärden används ofta för att expandera data från [0.0 till 1.0] till [-1.0 till 1.0]. Den här modifieraren är utformad för användning med aritmetiska instruktioner. Den här modifieraren används ofta på indata till punktproduktinstruktionen (dp3 – ps). Om du använder _bx2 på data utanför intervallet 0 till 1 kan det ge odefinierade resultat.

Den signerade skalningsoperationen tillämpas på data som läses från registret innan nästa instruktion körs. Åtgärden tillämpas på alla fyra färgkanaler (RGBA) på följande sätt:

y = 2(x - 0.5)

Innehållet i registret ändras inte. Modifieraren tillämpas endast på data som läses från registret.

Den här modifieraren är ömsesidigt uteslutande med Invertera källregister så att den inte kan tillämpas på samma register.

Versionsinformation:

  • För ps_1_0 och ps_1_1 kan du använda _bx2 i valfritt källregister för texturinstruktioner i formuläret texm3x2* och texm3x3*. _bx2 kan inte användas på någon av de andra texturinstruktionerna, till exempel texreg2ar – ps eller texreg2gb – ps.
  • För ps_1_2 och ps_1_3 kan du använda _bx2 på alla källregister för alla tex* instruktioner förutom: texreg2ar - ps, texreg2gb - ps, texbem - ps eller texbeml - ps.

Exempel

I det här exemplet får du ett exempel på en struktur, konverterar data till intervallet -1 till +1 och beräknar en punktprodukt.

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

Pixel Shader-källregistreringsmodifierare