Partager via


gather4_c (sm5 - asm)

Identique à gather4, sauf que cette instruction effectue une comparaison sur les texels, semblable à sample_c.

gather4_c[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler[.r], srcReferenceValue
Élément Description
dest
[in] Adresse du résultat de l’opération
srcAddress
[in] Ensemble de coordonnées de texture.
srcResource
[in] Registre de texture.
srcSampler
[in] Registre de l’échantillonneur.
srcReferenceValue
[in] Registre avec un seul composant sélectionné, qui est utilisé dans la comparaison.

Notes

Pour obtenir une description de la façon dont srcReferenceValue est comparé à chaque texel récupéré, consultez sample_c. Contrairement à sample_c, gather4_c retourne chaque résultat de comparaison plutôt que de les filtrer. La commande des opérations est srcReferenceValue {ComparisonFunction} texel.R.

Pour les angles TextureCube, où il existe trois texels réels et un quatrième doit être synthétisé, la synthèse doit se produire après l’étape de comparaison. Cela signifie que le résultat de comparaison retourné pour le texel synthétisé peut être 0, 0,33 , 0,66 ou 1. Certaines implémentations peuvent uniquement retourner 0 ou 1 pour le texel synthétisé. Outre cette liste des résultats possibles, la méthode de synthèse du texel n’est pas spécifiée.

Pour les formats avec des composants float32, si la valeur récupéré est normalisée ou +-INF, elle est utilisée non affectée dans l’opération de comparaison. NaN est utilisé dans l’opération de comparaison en tant que NaN, mais la représentation binaire exacte du NaN peut être modifiée. Les dénorms sont vidés jusqu’à zéro dans la comparaison. Pour TextureCubes, une synthèse du 4ème texel manquant doit se produire aux angles, de sorte que la notion de retour de bits inchangés pour le texel synthétisé ne s’applique pas.

Les formats pris en charge pour gather4_c sont identiques à ceux pris en charge pour sample_c. Il s’agit de formats à composant unique, donc le .R sur srcSampler, plutôt qu’un réagencement arbitraire des données en surface. gather4_c sur une ressource non liée retourne 0.

Utilisez cette instruction pour le filtrage personnalisé de la carte d’ombres.

Cette instruction s’applique aux aperçus de nuanceur suivantes :

Sommet Coque Domain Géométrie Pixel Compute
X X X X X X

Modèle de nuanceur minimal

Cette instruction est prise en charge dans les modèles de nuanceur suivants :

Modèle de nuanceur Pris en charge
Modèle de nuanceur 5 oui
Modèle de nuanceur 4.1 non
Modèle de nuanceur 4 non
Modèle de nuanceur 3 (DirectX HLSL) non
Modèle de nuanceur 2 (DirectX HLSL) non
Modèle de nuanceur 1 (DirectX HLSL) non

Assembly du modèle de nuanceur 5 (DirectX HLSL)