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

Этот документ описывает, как работать с конструктором шейдера Visual Studio для создания, изменения и экспорта пользовательских визуальные эффекты, например шейдеров.

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

Поддерживаемые форматы

Конструктора шейдера поддерживает эти форматы шейдера:

Имя формата

Расширение файла

Поддерживаемые операции (просмотр, правка, экспорт)

Язык шейдера направленного графа

.dgsl

Вид, Правка

Шейдер HLSL (исходный код)

.hlsl

Экспорт

Шейдер HLSL (байткод)

.cso

Экспорт

Заголовок C++ (массив байт-кода HLSL)

H

Экспорт

Начало работы

В этом разделе описываются способы добавления текстуры DGSL к проекту Visual Studio и основные сведения, которые помогут приступить к работе.

Добавление в проект DGSL построитель текстуры

  1. В Обозреватель решений откройте контекстное меню для проекта, который необходимо добавить текстуры, а затем выберите Добавить, Создать элемент.

  2. В диалоговом окне Добавление нового элемента в поле Установлено, выберите Графика, а затем выбирает Визуальный граф шейдера (DGSL).

  3. Укажите Имя файла текстуры, и Расположение, необходимо быть его создания.

  4. Нажмите кнопку Добавить.

Hh315733.collapse_all(ru-ru,VS.110).gifПо умолчанию построитель текстуры

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

Работа с конструктором шейдеров

В следующих разделах описывается, как использовать конструктор текстуры для работы с пользовательскими шейдерами.

Hh315733.collapse_all(ru-ru,VS.110).gifПанели инструментов конструктора шейдеров

Панели инструментов конструктора шейдера содержат команды, помогающие работать с графами шейдера DGSL.

Команды, влияющие на состояние конструктора шейдеров, находятся на панели инструментов Режим конструктора шейдеров в главном окне Visual Studio.Средства проектирования и команды расположены на панели инструментов Конструктор шейдера на поверхности проектирования конструктора шейдера.

Здесь приведена панель инструментов Режим конструктора шейдеров.

Модальная панель инструментов конструктора шейдера.

Эта таблица описывает элементы на панели инструментов Режим конструктора шейдеров, перечисленные в том порядке, в котором они появляются слева направо.

Элемент панели инструментов

Описание

Select

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

Сдвиг

Включает перемещение графа шейдера по отношению к рамке окна.Чтобы переместить, выберите точку на Поверхности разработки и переместите ее.

В режиме Выбрать, нажав и удерживая клавишу Ctrl, можно временно активировать режим Панорама.

Масштаб

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

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

Вписать

Отображает полный граф шейдера в рамке окна.

Режим отрисовки в реальном времени

Если отрисовка в реальном времени включена, Visual Studio перерисовывает Поверхность разработки, даже если пользователь не выполняет никаких действий.Этот режим полезен при работе с шейдерами, которые изменяются со временем.

Предварительный просмотр на сфере

При включении, модель сферы используется для предварительного просмотра шейдера.Только одна фигура предварительного просмотра может быть включена в один момент времени.

Предварительный просмотр на кубе

При включении, модель куба используется для предварительного просмотра шейдера.Только одна фигура предварительного просмотра может быть включена в один момент времени.

Предварительный просмотр на цилиндре

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

Предварительный просмотр на конусе

При включении, модель конуса используется для предварительного просмотра шейдера.Только одна фигура предварительного просмотра может быть включена в один момент времени.

Предварительный просмотр на чайнике

При включении, модель чайника используется для предварительного просмотра шейдера.Только одна фигура предварительного просмотра может быть включена в один момент времени.

Предварительный просмотр на плоскости

При включении, модель плоскости используется для предварительного просмотра шейдера.Только одна фигура предварительного просмотра может быть включена в один момент времени.

Панель элементов

В другом случае показывает или скрывает Панель элементов.

Свойства

В другом случае показывает или скрывает окно Свойства.

Дополнительно

Содержит расширенные команды и параметры.

Экспорт

Позволяет экспортировать шейдер в нескольких форматах.

Экспортировать как

Экспортирует шейдер как исходный код HLSL или компилированный байткод шейдера.Дополнительные сведения об экспорте построителей текстуры см. в разделе Практическое руководство. Экспорт шейдера.

Графические модули

Включает выделение средства отрисовки, которое используется для отображения поверхности разработки.

Визуализация с помощью D3D11

Использует Direct3D 11, чтобы отрисовать поверхность разработки конструктора шейдеров.

Визуализация с помощью D3D11WARP

Использует платформу Windows Advanced Rasterization Platform (WARP) Direct3D 11 для отрисовки поверхности разработки конструктора шейдеров.

Просмотр

Включает выделение дополнительных сведений о конструкторе шейдера.

Frame Rate

при включении Указывает текущую частоту кадров в правом верхнем углу поверхности разработки.Частота кадров — это количество кадров, рисуемых в секунду.

Этот параметр полезен при включении параметра Модель отрисовки в реальном времени.

СоветСовет
Можно выбрать кнопку Дополнительно, чтобы выполнить последнюю команду повторно.

Hh315733.collapse_all(ru-ru,VS.110).gifРабота с узлами и соединениями

Использование режима Выбрать для добавления, удаления, перемещения, подключения и настройки узлов.Здесь описан способ выполнения этих основных операций

Выполнение основных операций в режиме Выделить

  • Вот как:

    • Чтобы добавить узел в граф, выберите его в Панель элементов а затем переместите его в Поверхность разработки.

    • Чтобы удалить узел из диаграммы, выберите его и нажмите Удалить.

    • Чтобы изменить позицию узла, выберите его и затем переместите его в новое местоположение.

    • Для соединения 2 узлов, переместите выходной терминал одного узла к входному терминалу другого узла.Соединять можно только терминалы, имеющие совместимые типы.Линия между терминалами указывает соединение.

    • Чтобы удалить соединение, в контекстном меню для какого-либо из подключенных терминалов, выберите Разорвать связи.

    • Чтобы настроить свойства узла, выберите узел, а затем в окне Свойства, задайте новые значения для свойств.

Hh315733.collapse_all(ru-ru,VS.110).gifПредварительный просмотр шейдеров

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

Hh315733.collapse_all(ru-ru,VS.110).gifФигуры

Конструктор шейдера содержит шесть фигур -сфера, куб, цилиндр, конус, чайник и плоскость — которые можно использовать для предварительного просмотра шейдера.В зависимости от шейдера некоторые формы могут обеспечить лучший предварительный просмотр.

Выбор фигуры предварительного просмотра

  • На панели инструментов Режимы конструктора шейдеров выберите требуемую фигуру.

Hh315733.collapse_all(ru-ru,VS.110).gifТекстуры и параметры материала

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

Чтобы Привязать другую текстуру к регистру текстуры или изменить другие параметры материала

  1. В режиме Выбрать выберите пустую область на поверхности разработки.Это приводит к тому, что окно Свойства показывает глобальные свойства шейдера.

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

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

Параметр

Свойства

Texture1Texture8

Доступ

Public, чтобы разрешить задание этого свойства в редакторе моделей; в противном случае - значение Private.

Имя файла

Полный путь к файлу текстуры, связанному с этим регистром текстуры.

Материал - окружающий

Доступ

Public, чтобы разрешить задание этого свойства в редакторе моделей; в противном случае - значение Private.

Значение

Диффузный цвет текущего пикселя, связанный с непрямым — или окружающим — освещением.

Материал - диффузный

Доступ

Public, чтобы разрешить задание этого свойства в редакторе моделей; в противном случае - значение Private.

Значение

Цвет, который описывает, как текущий пиксель рассеивает прямое освещение.

Материал - эмиссионный

Доступ

Public, чтобы разрешить задание этого свойства в редакторе моделей; в противном случае - значение Private.

Значение

Добавочный цвет текущего пикселя, основанный на освещении, предоставляемом пользователем.

Материал - отражающий

Доступ

Public, чтобы разрешить задание этого свойства в редакторе моделей; в противном случае - значение Private.

Значение

Цвет, который описывает, как текущий пиксель отражает прямое освещение.

Отражающая способность материала

Доступ

Public, чтобы разрешить задание этого свойства в редакторе моделей; в противном случае - значение Private.

Значение

Экспонента, которая определяет интенсивность зеркального отражения от текущего пикселя.

Hh315733.collapse_all(ru-ru,VS.110).gifЭффекты на основе времени

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

Как Включить в реальном времени отрисовку

  • На панели инструментов конструктора шейдера выберите Отрисовка в режиме реального времени.

Hh315733.collapse_all(ru-ru,VS.110).gifИзучение эффекта

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

Для поворота фигуры

  • Нажмите и удерживайте клавишу Alt, а затем выберите любую точку на поверхности разработки и переместите ее.

Hh315733.collapse_all(ru-ru,VS.110).gifЭкспорт шейдеров

Прежде чем можно будет использовать построитель текстуры в приложении, необходимо экспортировать его в формате, понятном для DirectX.

Можно экспортировать шейдеры как исходный код HLSL или компилированный байткод шейдеров.Исходный код HLSL экспортирован в текстовый файл, имеющий расширение имени файла .hlsl.Байткод шейдера можно экспортировать в файл необработанных двоичных данных с расширением .cso или в файл заголовка C++ (.h), который кодирует байткод шейдера в виде массива.

Дополнительные сведения об экспорте построителей текстуры см. в разделе Практическое руководство. Экспорт шейдера.

Сочетания клавиш

Command

Сочетания клавиш

Переключение на режим Выбора

Ctrl+G, Gtrl+Q

S

Переключение на режим Масштаба

Ctrl+G, Ctrl+Z

Z

Переключение на режим Панорамы

Ctrl+G, Ctrl+P

K

Выделить все

CTRL+A

Удалить текущее выделение

Удаление

Отменить текущее выделение

Escape-символ

Увеличить

Ctrl+ прокручивание колесика мыши вперед

Знак плюс (+)

Уменьшить

Ctrl- прокручивание колесика мыши назад

Знак минус (-)

Сдвинуть Поверхность разработки вверх

Прокручивание колеса мыши назад

PAGE DOWN

Сдвиг поверхности разработки вниз

Прокручивание колеса мыши вперед

PAGE UP

Сдвиг поверхности разработки влево

Shift+ прокручивание колеса мыши назад

Прокручивание колеса мыши влево

SHIFT+PAGE DOWN

Сдвиг поверхности разработки вправо

Shift+прокручивание колеса мыши вперед

Прокручивание колеса мыши вправо

SHIFT+PAGE UP

Переместить фокус клавиатуры на другой узел

Клавиши со стрелками

Выберите узел, имеющий фокус клавиатуры (добавляет узел в группу выделения)

Shift+ Пробел

Переключение выделения узла, имеющего фокус клавиатуры

Ctrl+ клавиша пробела

Переключение текущего выделения (если узлы не выбраны, выберите узел, имеющий фокус клавиатуры)

Пробел

Переместить текущее выделение

Shift+Стрелка вверх

Переместить текущее выделение вниз

Shift+Стрелка вниз

Переместить текущее выделение влево

Shift+ стрелка влево

Переместить текущее выделение вправо

Shift+стрелка вправо.

См. также

Заголовок

Описание

Работа с трехмерными ресурсами для игр и приложений

Обзор средств Visual Studio, которые можно использовать для работы с текстурами и образами, трехмерными моделями и эффектами текстуры.

редактор изображений

Описывает способ использования редактора изображений Visual Studio для работы с текстурами и изображениями.

Редактор моделей

Описывает способ использования редактора моделей Visual Studio для работы с трехмерными моделями.