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 :
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.
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
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.
Rubriques connexes