Экспорт шейдера

В этом документе показано, как использовать конструктор шейдеров, чтобы экспортировать шейдер DGSL для использования в приложении.

Примечание.

Вершинные шейдеры нельзя экспортировать.

Экспорт шейдера

Чтобы использовать шейдер в приложении после создания с помощью конструктора шейдеров, его нужно экспортировать в формате, совместимый с API графики. Шейдер можно экспортировать разными способами для достижения различных целей.

  1. В Visual Studio откройте файл Visual Shader Graph (.dgsl).

    Если у вас нет файла Визуальный граф шейдера (DGSL), создайте его, как описано в разделе Практическое руководство. Создание простейшего шейдера цвета.

  2. На панели инструментов Конструктор шейдеров выберите Дополнительно>Экспорт>Экспортировать как. Откроется диалоговое окно Экспортировать шейдер.

  3. В раскрывающемся списке Тип файла выберите формат для экспорта.

    Ниже приведен список доступных форматов:

    Построитель текстуры HLSL (*.hlsl) Экспортирует шейдер в виде исходного кода HLSL. Этот параметр позволяет позднее изменить шейдер, даже после его развертывания в приложении. Это может упростить отладку и исправление кода с учетом проблем, возникших у конечных пользователей, но также позволяет пользователю легче вносить в шейдер нежелательные изменения, например чтобы получить незаслуженное преимущество в конкурентной игре. Это также может увеличить время загрузки шейдера.

    Скомпилированный шейдер пикселей (*.cso) Экспортирует шейдер в виде байт-кода HLSL. Этот параметр позволяет позднее изменить шейдер, даже после его развертывания в приложении. Это может упростить отладку и исправление кода с учетом проблем, возникших у конечных пользователей, а так как шейдер компилируется предварительно, его загрузка приложением не создает дополнительных издержек во время выполнения. Достаточно опытные пользователи все равно могут внести нежелательные изменения в шейдер, однако компиляция шейдера значительно усложняет эту задачу.

    Заголовок C++ (*.h) Экспортирует шейдер в виде заголовка в стиле C, который определяет массив байтов, содержащий байт-код HLSL. Этот параметр увеличивает временные затраты на отладку и исправление кода с учетом проблем, возникших у конечных пользователей, так как для проверки исправления приложения требуется перекомпилировать. Однако этот параметр делает практически невозможным внесение нежелательных изменений в шейдер после его развертывания в приложении.

  4. В поле со списком Имя файла укажите имя для экспортируемого шейдера и нажмите кнопку Сохранить.