Liaison dynamique

Les développeurs graphiques créent parfois de grands nuanceurs à usage général 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 grands nuanceurs à usage général utilisent des registres à usage général (GPR) de manière inefficace 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 de nuanceur nécessaire et non l’ensemble du nuanceur grand et universel.

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 le stockage 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 d’interfaces dans le code du nuanceur.

HLSL