Vinculación dinámica

A veces, los desarrolladores de gráficos crean sombreadores de uso general grandes que pueden ser utilizados por una amplia variedad de elementos de escena. En tiempo de ejecución, el sombreador ejecuta condicionalmente el código adecuado para la situación dada. Desafortunadamente, estos sombreadores de uso general grandes usan registros de uso general (GPR) ineficazmente, y pueden ser mucho más lentos que sombreadores más pequeños y más dirigidos.

El modelo de sombreador 5 soluciona este problema de rendimiento mediante la introducción de la vinculación dinámica del sombreador. La vinculación dinámica separa fragmentos de código del sombreador mediante interfaces y funciones virtuales y permite a la aplicación seleccionar el fragmento que se va a usar en tiempo de dibujo. Esto mejora el rendimiento enlazando solo el código de sombreador necesario y no todo el sombreador de uso general grande.

En esta sección

Elemento Descripción
Almacenar variables y tipos para sombreadores para compartir
Describe el objeto de vinculación de clases para almacenar variables y tipos que pueden compartir varios sombreadores.
Interfaces y clases
Describe el uso de interfaces y clases de HLSL para implementar la vinculación dinámica.
Restricciones de uso de la interfaz
Describe las restricciones en el uso de interfaces en el código del sombreador.

HLSL