Liaison dynamique

Les développeurs graphiques créent parfois des nuanceurs à usage général volumineux qui peuvent être utilisés par un large éventail d’éléments de scène. Au moment de l’exécution, le nuanceur exécute de manière conditionnelle le code approprié pour la situation donnée. Malheureusement, ces nuanceurs à usage général volumineux utilisent des registres à usage général (GPR) inefficacement et peuvent être beaucoup plus lents que les nuanceurs plus petits et plus ciblés.

Le modèle de nuanceur 5 résout ce problème de performances en introduisant la liaison de nuanceur dynamique. La liaison dynamique sépare les fragments de code du nuanceur à l’aide d’interfaces et de fonctions virtuelles et permet à l’application de sélectionner le fragment à utiliser au moment du dessin. Cela améliore les performances en liant uniquement le code du nuanceur nécessaire et non l’intégralité du nuanceur à usage général.

Dans cette section

Élément Description
Stockage de variables et de types pour les nuanceurs à partager
Décrit l’objet de liaison de classes pour stocker des variables et des types que plusieurs nuanceurs peuvent partager.
Interfaces et classes
Décrit l’utilisation d’interfaces et de classes HLSL pour implémenter la liaison dynamique.
Restrictions d’utilisation de l’interface
Décrit les restrictions relatives à l’utilisation des interfaces dans le code du nuanceur.

HLSL