Поделиться через


Практическое руководство. Экспорт шейдера

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

Этот документ демонстрирует эту работу:

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

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

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

Чтобы экспортировать шейдер

  1. В Visual Studio откройте файл Визуальный граф шейдера (DGSL).

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

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

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

    Ниже приводятся форматы, которые можно выбрать.

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

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

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

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

См. также

Задачи

Практическое руководство. Создание простейшего шейдера цвета

Основные понятия

Конструктор шейдеров