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


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

В этом документе показывается, как использовать конструктор шейдера и Язык шейдера направленного графа для создания Шейдера градиента на основе геометрии.Этот шейдер масштабирует постоянное значение цвета RGB на высоту каждой точки объекта в абсолютном пространстве.

Этот документ демонстрирует эти действия:

  • Добавление узлов в граф текстуры

  • Установка свойств узла

  • Отключение узлы

  • Соединение узлов

Создание градиентного шейдера на основе геометрии

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

Прежде чем приступать к, убедитесь, что отображаются в окне Свойства и Панель элементов.

Создание градиентного шейдера на основе геометрии

  1. Создайте текстуры DGSL для работы с.Дополнительные сведения о добавлении текстуры DGSL к проекту см. в подразделе " начало работы " в Конструктор шейдеров.

  2. Отключите узел Цвет точки из узла Окончательный цвет.Выберите терминал RGB узла Цвет точки, а затем выберите Разорвать связи.Это позволяет место для узла, который добавляется в следующем шаге.

  3. Добавление узла Multiply к диаграмме.В разделе Панель элементов в области Математика выберите Multiply и переместите ее на поверхность разработки.

  4. Добавление узла Вектор маски к диаграмме.В разделе Панель элементов в области Служебная программа выберите Вектор маски и переместите ее на поверхность разработки.

  5. Укажите значения маски для узла Вектор маски.В режиме Выбрать выберите узел Вектор маски и в окне Свойства задайте для свойства Зеленый и Y значение Истина, а затем установите для свойства Красный цвет и x, Z "/ и Альфа-версия/W значение Ложь.В следующем примере свойства Красный цвет и x, Зеленый и Y и Z "/ соответствуют x, y и z компоненты узла Положение в мировых координатах и Альфа-версия/W неиспользованно.Поскольку только Зеленый и Y имеет значение Истина, только компонент y двух входных данных остается после его замаскирован.

  6. Добавление узла Положение в мировых координатах к диаграмме.В разделе Панель элементов в области Константы выберите Положение в мировых координатах и переместите ее на поверхность разработки.

  7. Создание маски положения абсолютного пространства фрагмента.В режиме Выбрать переместите конечную точку Вывод узла Положение в мировых координатах в конечную точку Вектор узла Вектор маски.Это соединение маскирует позицию фрагмента, чтобы игнорировать компоненты x и z.

  8. Умножьте константу цвета RGB на маскированное положение в абсолютном пространстве.Переместите терминал RGB узла Цвет точки в терминалу Y узла Умножение, а затем переместите терминал Вывод узла Вектор маски в терминалу X узла Умножение.Это подключение использовать значение высотой цвет пикселя в пространстве мира.

  9. Присоедините масштабированное значение цвета к окончательному цвету.Переместите терминал Вывод узла Умножение в терминалу RGB узла Окончательный цвет.

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

ПримечаниеПримечание

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

Граф шейдера и предварительный просмотр его эффекта.

Некоторые фигуры могут предоставить лучший предварительный просмотр для некоторых шейдеров.Дополнительные сведения о просмотре текстуры в конструкторе текстуры Предварительный просмотр текстуры см. в разделе Конструктор шейдеров.

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

Применение эффекта градиента к трехмерной модели поверхности

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

См. также

Задачи

Практическое руководство. Применение шейдера к трехмерной модели

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

Практическое руководство. Моделирование простейшей трехмерной сцены

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

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

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

Другие ресурсы

Узлы конструктора шейдеров