Partager via


collect4 (sm4.1 - asm)

Rassemble les quatre texels qui seraient utilisés dans une opération de filtrage bi-linéaire et les empaquete dans un seul registre.

collect4[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler.r
Élément Descriptif
dest
[in] Adresse du résultat de l’opération.
srcAddress
[in] Contient les coordonnées de texture.
srcResource
[in] Un registre de ressources.
Le swizzle permet aux valeurs retournées d’être swizzled arbitrairement avant qu’elles ne soient écrites à dest.
srcSampler
[in] Registre de l’échantillonneur.
Ce paramètre doit avoir un swizzle .r (rouge), ce qui indique que la valeur du canal R est copiée dans dest.

Remarques

Cette opération fonctionne uniquement avec des textures 2D ou CubeMap à canal unique. Pour les textures 2D, seuls les modes d’adressage de l’échantillonneur sont utilisés et le niveau supérieur d’une pyramide mip est utilisé.

Cette instruction se comporte comme l’exemple d’instruction, mais un exemple filtré n’est pas généré. Les quatre échantillons qui contribueraient au filtrage sont placés dans xyzw dans l’ordre des aiguilles d’une montre en commençant par l’échantillon en bas à gauche de l’emplacement interrogé. Il s’agit de l’échantillonnage de points avec des deltas de coordonnées de texture (u,v) aux emplacements suivants : (-,+),(+,+),(+),(+,-),(-,-), où la magnitude des deltas est toujours la moitié d’un texel.

Pour les textures CubeMap lorsqu’une empreinte bi-linéaire s’étend sur un texel de bord du visage voisin sont utilisés. Les angles utilisent les mêmes règles que l’exemple d’instruction ; c’est-à-dire le coin inconnu est considéré comme la moyenne des trois coins de visage impinglants.

Les restrictions de format de texture qui s’appliquent aux exemples d’instructions s’appliquent également à l’instruction collect4 .

Pour les implémentations matérielles, les optimisations du filtrage biligne traditionnel qui détectent des échantillons directement sur des texels et ignorent la lecture des texels dont le poids 0 ne peut pas être utilisé avec collect4. collect4 retourne toujours tous les texels demandés.

Cette instruction s’applique aux étapes de nuanceur suivantes :

Nuanceur de sommets Nuanceur de géométrie Nuanceur de pixels
x x x

Modèle de nuanceur minimal

Cette fonction est prise en charge dans les modèles de nuanceur suivants.

Modèle de nuanceur Soutenu
modèle nuanceur 5 oui
Modèle de nuanceur 4.1 oui
modèle nuanceur 4 Non
shader Model 3 (DirectX HLSL) Non
Shader Model 2 (DirectX HLSL) Non
Modèle de nuanceur 1 (DirectX HLSL) Non

'assembly de nuanceur 4 (DirectX HLSL)