Partager via


dcl_input (sm4 - asm)

Déclare un registre d’entrée de nuanceur.

dcl_input vN[.mask][, interpolationMode]
Élément Description
vN
[in] Registre de données de vertex.
  • N est un entier qui identifie le numéro de registre.
  • [.mask] est un masque de composant facultatif (.xyzw) qui spécifie les composants d’inscription à utiliser.
interpolationMode
[in] Facultatif. Mode d’interpolation, qui n’est respecté que sur les registres d’entrée du nuanceur de pixels. Ce peut être l’une des valeurs suivantes :
  • constante : n’interpolez pas entre les valeurs de registre.
  • linéaire : interpoler de manière linéaire entre les valeurs de registre.
  • linearCentroid : identique à linéaire, mais centroïde serré en cas de multi-échantillonnage.
  • linearNoperspective : identique à linéaire, mais sans correction de perspective.
  • linearNoperspectiveCentroid : identique à linéaire, centroïde serré en cas de multi-échantillonnage, aucune correction de perspective.

Notes d’interpolation

Par défaut, les attributs de vertex sont interpolés à partir d’un centre de pixels lors de l’exécution d’un anti-attirail multiéchantillon. Si un centre de pixels n’est pas couvert, un attribut est extrapolé à un centre de pixels avant l’interpolation.

Pour un pixel qui n’est pas entièrement couvert ou un attribut qui ne couvre pas un centre de pixels, vous pouvez spécifier l’échantillonnage centroïde qui force l’échantillonnage à se produire quelque part dans la zone couverte du pixel. Étant donné qu’un exemple de masque (s’il est utilisé) est appliqué avant le calcul du centroïde, tout emplacement d’exemple masqué par l’exemple de masque ne peut pas être choisi comme emplacement centroïde.

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

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

Pour identifier l’entrée en tant que valeur système, utilisez dcl_input_sv (sm4 - asm).

Cette instruction est incluse pour faciliter le débogage d’un nuanceur dans l’assembly ; vous ne pouvez pas créer un nuanceur dans le langage d’assembly à l’aide du modèle de nuanceur 4.

Exemple

Voici quelques exemples.

dcl_input v3.xyz

dcl_input v0.x, linearCentroid

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
Nuanceur modèle 3 (DirectX HLSL) non
Nuanceur modèle 2 (DirectX HLSL) non
Nuanceur modèle 1 (DirectX HLSL) non

Assembly de nuanceur modèle 4 (DirectX HLSL)