Практическое руководство. Создание основанного на геометрии шейдера градиента
В этом документе показывается, как использовать конструктор шейдера и Язык шейдера направленного графа для создания Шейдера градиента на основе геометрии.Этот шейдер масштабирует постоянное значение цвета RGB на высоту каждой точки объекта в абсолютном пространстве.
Этот документ демонстрирует эти действия:
Добавление узлов в граф текстуры
Установка свойств узла
Отключение узлы
Соединение узлов
Создание градиентного шейдера на основе геометрии
Можно реализовать текстуры геометрическим объектом, путем включения положение пикселя в построитель текстуры.В языках shading пиксель, содержит больше информации, чем просто его цвет и расположение 2-D на экране.Пиксель- известное как фрагмент каким-либо системой, коллекция значений, описывающие поверхность, соответствующую пикселю.Построитель текстуры, описанный в этом документе использует высоту каждого пикселя трехмерного объекта в пространстве мира влияния цвета для последнего вывода фрагмента.
Прежде чем приступать к, убедитесь, что отображаются в окне Свойства и Панель элементов.
Создание градиентного шейдера на основе геометрии
Создайте текстуры DGSL для работы с.Дополнительные сведения о добавлении текстуры DGSL к проекту см. в подразделе " начало работы " в Конструктор шейдеров.
Отключите узел Цвет точки из узла Окончательный цвет.Выберите терминал RGB узла Цвет точки, а затем выберите Разорвать связи.Это позволяет место для узла, который добавляется в следующем шаге.
Добавление узла Multiply к диаграмме.В разделе Панель элементов в области Математика выберите Multiply и переместите ее на поверхность разработки.
Добавление узла Вектор маски к диаграмме.В разделе Панель элементов в области Служебная программа выберите Вектор маски и переместите ее на поверхность разработки.
Укажите значения маски для узла Вектор маски.В режиме Выбрать выберите узел Вектор маски и в окне Свойства задайте для свойства Зеленый и Y значение Истина, а затем установите для свойства Красный цвет и x, Z "/ и Альфа-версия/W значение Ложь.В следующем примере свойства Красный цвет и x, Зеленый и Y и Z "/ соответствуют x, y и z компоненты узла Положение в мировых координатах и Альфа-версия/W неиспользованно.Поскольку только Зеленый и Y имеет значение Истина, только компонент y двух входных данных остается после его замаскирован.
Добавление узла Положение в мировых координатах к диаграмме.В разделе Панель элементов в области Константы выберите Положение в мировых координатах и переместите ее на поверхность разработки.
Создание маски положения абсолютного пространства фрагмента.В режиме Выбрать переместите конечную точку Вывод узла Положение в мировых координатах в конечную точку Вектор узла Вектор маски.Это соединение маскирует позицию фрагмента, чтобы игнорировать компоненты x и z.
Умножьте константу цвета RGB на маскированное положение в абсолютном пространстве.Переместите терминал RGB узла Цвет точки в терминалу Y узла Умножение, а затем переместите терминал Вывод узла Вектор маски в терминалу X узла Умножение.Это подключение использовать значение высотой цвет пикселя в пространстве мира.
Присоедините масштабированное значение цвета к окончательному цвету.Переместите терминал Вывод узла Умножение в терминалу RGB узла Окончательный цвет.
На следующей иллюстрации показан готовый граф шейдеров и предварительный просмотр шейдера, применяемого к сфере.
![]() |
---|
На этом рисунке задан оранжевый цвет, чтобы лучше было видно эффект шейдера, но так как фигура предварительного просмотра не имеет позиции в мировом пространстве, шейдер невозможно полностью просмотреть в конструкторе шейдера.Шейдер необходимо просмотреть в реальной сцене для демонстрации полного эффекта. |
Некоторые фигуры могут предоставить лучший предварительный просмотр для некоторых шейдеров.Дополнительные сведения о просмотре текстуры в конструкторе текстуры Предварительный просмотр текстуры см. в разделе Конструктор шейдеров.
На следующей иллюстрации показан описанный в этом документе шейдер, примененный к трехмерной сцене, которая продемонстрирована в разделе Практическое руководство. Моделирование простейшей трехмерной сцены.Интенсивность цвета увеличивается вместе с высотой точки в мировом пространстве.
Дополнительные сведения о применении построителя текстуры к трехмерной модели см. в разделе Практическое руководство. Применение шейдера к трехмерной модели.
См. также
Задачи
Практическое руководство. Применение шейдера к трехмерной модели
Практическое руководство. Экспорт шейдера
Практическое руководство. Моделирование простейшей трехмерной сцены
Практическое руководство. Создание шейдера текстуры с использованием оттенков серого