Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Разработчики графики иногда создают большие шейдеры общего назначения, которые можно использовать различными элементами сцены. Во время выполнения шейдер условно запускает код, соответствующий заданной ситуации. К сожалению, эти крупные шейдеры общего назначения используют регистры общего назначения (GPR) неэффективно и могут быть гораздо медленнее, чем меньше и более целенаправленные шейдеры.
Модель шейдера 5 устраняет эту проблему производительности путем внедрения динамической компоновки шейдеров. Динамическое связывание отделяет фрагменты кода шейдера с помощью интерфейсов и виртуальных функций и позволяет приложению выбрать фрагмент для использования во время рисования. Это увеличивает производительность, привязывая только необходимый код шейдера, а не целый большой универсальный шейдер.
В этом разделе
Пункт | Описание |
---|---|
хранение переменных и типов для совместного использования шейдерами |
Описывает объект связывания классов для хранения переменных и типов, которыми могут совместно пользоваться несколько шейдеров. |
интерфейсы и классы |
Описывает использование интерфейсов и классов HLSL для реализации динамической компоновки. |
ограничения использования интерфейса |
Описывает ограничения на использование интерфейсов в коде шейдера. |