EvaluateAttributeSnapped, fonction
Évalue au centroïde de pixels avec un décalage.
Syntaxe
numeric EvaluateAttributeSnapped(
in attrib numeric value,
in
int2 offset
);
Paramètres
-
value [in]
-
Type : attrib numeric
Valeur d'entrée.
-
offset [in]
-
Type : int2
Décalage 2D à partir du centre de pixels à l’aide d’une grille de 16 x 16.
Notes
La plage du paramètre offset doit être définie par le code d’octet suivant.
Seuls les 4 bits les moins significatifs des deux premiers composants (U, V) du décalage de pixels sont utilisés. La conversion du point fixe 4 bits en virgule flottante est la suivante (MSB... LSB), où le MSB fait partie de la fraction et détermine le signe :
- 1000 = -0,5f (-8 / 16)
- 1001 = -0,4375f (-7 / 16)
- 1010 = -0,375f (-6 / 16)
- 1011 = -0,3125f (-5 / 16)
- 1100 = -0,25f (-4 / 16)
- 1101 = -0,1875f (-3 / 16)
- 1110 = -0,125f (-2 / 16)
- 1111 = -0,0625f (-1 / 16)
- 0000 = 0,0f ( 0 / 16)
- 0001 = 0,0625f ( 1 / 16)
- 0010 = 0,125f ( 2 / 16)
- 0011 = 0,1875f ( 3 / 16)
- 0100 = 0,25f ( 4 / 16)
- 0101 = 0,3125f ( 5 / 16)
- 0110 = 0,375f ( 6 / 16)
- 0111 = 0,4375f ( 7 / 16)
Notes
Les bords gauche et supérieur d’un pixel sont inclus dans le décalage ; Toutefois, les bords inférieur et droit ne sont pas inclus. Tous les autres bits de l’entier 32 bits que vous et les valeurs de décalage V sont ignorés.
Une implémentation peut prendre le décalage fourni par le nuanceur et obtenir une valeur de point fixe 32 bits complète (28,4), qui couvre la plage valide, en effectuant le calcul suivant :
iU = (iU<<28)>>28 // keep lowest 4 bits and sign extend, which yields [-8..7]
Si une implémentation doit mapper le décalage à un décalage à virgule flottante, elle effectue le calcul suivant :
fU = ((float)iU)/16
Modèle de nuanceur minimal
Cette fonction est prise en charge dans les modèles de nuanceur suivants.
Modèle de nuanceur | Pris en charge |
---|---|
Modèles de nuanceur 5 et versions ultérieures | Oui |
Cette fonction est prise en charge dans les types de nuanceurs suivants :
Sommet | Coque | Domain | Géométrie | Pixel | Compute |
---|---|---|---|---|---|
x |
Voir aussi