Partager via


Procédure : instance d’un nuanceur Geometry

L’instanciation du nuanceur Geometry permet d’exécuter plusieurs exécutions du même nuanceur geometry par primitive. Pour instance un nuanceur geometry, ajoutez un attribut instance à la fonction de nuanceur main et identifiez un paramètre d’index instance dans le corps de la fonction de nuanceur.

Pour instancer un nuanceur Geometry :

  1. Ajoutez l’attribut instance à la fonction main.

    [instance(24)]
    

    Cela définit le nombre d’instances (un maximum de 32) à exécuter pour chaque primitive.

  2. Attachez la valeur système SV_GSInstanceID à une variable de la liste des paramètres de fonction qui peut être utilisée pour suivre l’ID du instance en cours d’exécution.

    uint InstanceID : SV_GSInstanceID
    
  3. Compilez et créez le nuanceur comme vous le feriez pour n’importe quel autre nuanceur de géométrie.

Voici d’autres détails :

  • Le nombre maximal de instance est de 32.
  • Le nombre maximal de sommets est un nombre maximal de sommets par instance.
  • Chaque appel instance (comme tout appel de nuanceur geometry) augmente le nombre d’appels et génère un RestartStrip() implicite.

Fonctionnalités du nuanceur Geometry