Partager via


dcl_maxOutputVertexCount (sm4 - asm)

Déclare le nombre maximal de sommets pouvant être générés par un nuanceur de géométrie.

nombre de dcl_maxOutputVertexCount
Élément Description
Compter
[in] Entier non signé 32 bits compris entre 1 et n, inclus.

Un nuanceur de géométrie peut générer un maximum de 1 024 valeurs 32 bits. Ce maximum inclut la taille des données d’entrée et la taille des données créées par le nuanceur.

Voici quelques limitations :

  • Si le nombre de sommets est atteint avant la fin de l’exécution du nuanceur de géométrie, le nuanceur se termine.
  • Un nuanceur de géométrie peut atteindre la fin de son programme avant de sortir des sommets ; c’est parfaitement légal.
  • Si vous déboguez un nuanceur de géométrie, vous pouvez indiquer le nombre de sommets générés en comptant le nombre d’instructions d’émission générées.

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

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

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

Exemple

Voici quelques exemples.

Supposons que les données d’entrée sont composées de la position (.xyzw) et de la couleur (.rgb). Chaque composant consomme un octet ; Étant donné 7 octets, le nombre maximal de sommets que le nuanceur peut générer est 1024 / (4 + 3) = 146.

dcl_maxOutputVertexCount 146

Supposons que votre nuanceur de géométrie crée 32 vecteurs à 4 composants. Le nombre maximal de sommets que le nuanceur peut générer serait 1024 / (32 * 4) = 8.

dcl_maxOutputVertexCount 8

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

Shader Model 4 Assembly (DirectX HLSL)