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 :
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.
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_GSInstanceIDCompilez 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 ().