sample_d (sm4 - asm)
Échantillonne les données de l’élément/texture spécifié à l’aide de l’adresse spécifiée et du mode de filtrage identifié par l’échantillonneur donné.
sample_d[_aoffimmi(u,v,w)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler, srcXDerivatives[.swizzle], srcYDerivatives[.swizzle] |
---|
Élément | Description |
---|---|
Dest |
[in] Adresse des résultats de l’opération. |
srcAddress |
[in] Ensemble de coordonnées de texture. Pour plus d’informations, consultez l’exemple d’instruction . |
srcResource |
[in] Registre de textures. Pour plus d’informations, consultez l’exemple d’instruction . |
srcSampler |
[in] Registre de l’échantillonneur. Pour plus d’informations, consultez l’exemple d’instruction . |
srcXDerivatives |
[in] Dérivés de l’adresse source dans la direction x. Pour plus d’informations, consultez la section Remarques. |
srcYDerivatives |
[in] Dérivés de l’adresse source dans la direction y. Pour plus d’informations, consultez la section Remarques. |
Remarques
Cette instruction se comporte comme l’exemple d’instruction, sauf que les dérivées de l’adresse source dans la direction x et la direction y sont fournies par des paramètres supplémentaires, respectivement srcXDerivatives et srcYDerivatives. Ces dérivés se trouvent dans un espace de coordonnées de texture normalisé.
Les composants r, g et b de srcXDerivatives (POS-swizzle) fournissent du/dx, dv/dx et dw/dx. Le composant « a » (POS-swizzle) est ignoré.
Les composants r, g et b de srcYDerivatives (POS-swizzle) fournissent du/dy, dv/dy et dw/dy. Le composant « a » (POS-swizzle) est ignoré.
Contrairement à l’exemple d’instruction, qui est autorisé à partager un seul calcul LOD sur un tampon 2x2, sample_d devez calculer le LOD de manière complètement indépendante, par pixel lorsqu’il est utilisé dans le nuanceur de pixels.
Si les entrées dérivées de sample_d proviennent d’instructions de calcul dérivées dans le nuanceur de pixels et que les valeurs incluent INF/NaN, le comportement de sample_d peut ne pas correspondre à l’exemple d’instruction , qui calcule implicitement la dérivée. Les valeurs INF/NaN peuvent affecter le calcul LOD différemment.
L’extraction à partir d’un emplacement d’entrée qui n’a rien de lié retourne 0 pour tous les composants.
Restrictions
- sample_d hérite des mêmes restrictions que l’exemple d’instruction , ainsi qu’une restriction supplémentaire ci-dessous pour ses paramètres supplémentaires.
- srcXDerivatives et srcYDerivatives doivent être temp (r#/x#), constantBuffer (cb#), input (v#) ou des valeurs immédiates.
Cette instruction s’applique aux étapes suivantes du nuanceur :
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 | Pris en charge |
---|---|
Modèle de nuanceur 5 | Oui |
Modèle de nuanceur 4.1 | Oui |
Modèle de nuanceur 4 | Oui |
Modèle de nuanceur 3 (DirectX HLSL) | Non |
Shader Model 2 (DirectX HLSL) | Non |
Modèle de nuanceur 1 (DirectX HLSL) | Non |
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour