samplepos (sm4.1 - asm)

Interroge la position d’un échantillon dans une vue de ressource de nuanceur donnée ou dans le rastériseur.

samplepos dest[.mask], srcResource[.swizzle], sampleIndex
Élément Description
Dest
[in] Adresse des résultats de l’opération.
srcResource
[in] Ressource de nuanceur.
sampleIndex
[in] Index de l’exemple (opérande scalaire).

Remarques

Cette instruction retourne la position d’exemple 2D de l’exemple sampleIndex pour la ressource donnée. Il est valide uniquement pour les ressources qui peuvent être chargées à l’aide de ld2dms , sauf si le rastériseur est spécifié en tant que srcResource.

srcResource peut être un registre t# (une vue de ressource de nuanceur) ou un registre de rastériseur.

L’instruction calcule le vecteur à virgule flottante (Xposition, Yposition, 0, 0).

Le swizzle sur srcResource permet aux valeurs retournées d’être swizzled arbitrairement avant d’être écrites dans la destination. La position de l’exemple est relative au centre du pixel, en fonction du système de coordonnées de pixels.

Si sampleIndex est hors limites, un vecteur zéro est retourné. Si aucune ressource n’est liée à l’emplacement spécifié, 0 est retourné.

samplepos peut être utilisé pour des opérations telles que des résolutions personnalisées dans le code du nuanceur.

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

Nuanceur de sommets Nuanceur de géométrie Nuanceur de pixels
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 Non
Modèle de nuanceur 3 (DirectX HLSL) Non
Shader Model 2 (DirectX HLSL) Non
Modèle de nuanceur 1 (DirectX HLSL) Non

Shader Model 4 Assembly (DirectX HLSL)