Comment : instancier un nuanceur Geometry

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

Pour instancier un nuanceur Geometry :

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

    [instance(24)]
    

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

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

    uint InstanceID : SV_GSInstanceID
    
  3. Compilez et créez le nuanceur comme vous le feriez pour tout autre nuanceur Geometry.

Autres détails :

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

Fonctionnalités du nuanceur Geometry