Mise à l’échelle signée du registre source
Soustrait 0,5 de chaque canal et met à l’échelle le résultat de 2,0. Le nom bx2 provient de bias et scale-times-2, qui est l’opération qu’il effectue.
Syntaxe
source register_bx2
S’inscrire
Registre source. Pour plus d’informations sur les types de registres, consultez ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registres.
Notes
Cette opération est couramment utilisée pour développer les données de [0.0 à 1.0] vers [-1.0 à 1.0]. Ce modificateur est conçu pour être utilisé avec les instructions arithmétiques. Ce modificateur est couramment utilisé sur les entrées de l’instruction de produit point (dp3 - ps). L’utilisation de _bx2 sur des données situées en dehors de la plage 0 à 1 peut produire des résultats non définis.
L’opération de mise à l’échelle signée est appliquée aux données lues à partir du registre avant l’exécution de l’instruction suivante. L’opération est appliquée aux quatre canaux de couleur (RVBA) comme suit :
y = 2(x - 0.5)
Le contenu du registre n’est pas modifié. Le modificateur est appliqué uniquement aux données lues à partir du registre.
Ce modificateur s’exclue mutuellement avec l’inverse du registre source , il ne peut donc pas être appliqué au même registre.
Informations sur la version :
- Pour ps_1_0 et ps_1_1, vous pouvez utiliser _bx2 sur n’importe quel registre source pour les instructions de texture des formes texm3x2* et texm3x3*. _bx2 ne peut pas être utilisé sur les autres instructions de texture telles que texreg2ar - ps ou texreg2gb - ps.
- Pour ps_1_2 et ps_1_3, vous pouvez utiliser _bx2 sur n’importe quel registre source pour n’importe quelle instruction tex* à l’exception de : texreg2ar - ps, texreg2gb - ps, texbem - ps ou texbeml - ps.
Exemple
Cet exemple échantillonne une texture, convertit les données dans la plage de -1 en +1 et calcule un produit point.
tex t0 ; Read a texture color.
dp3_sat r0, t0_bx2, v0_bx2 ; Calculate a dot product.
Rubriques connexes