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


Работа с шейдерами

Можно использовать конструктор шейдеров на основе графов в Visual Studio для разработки пользовательских эффектов шейдеров.Можно использовать эти шейдеры в игре или приложении на основе DirectX.

Шейдеры

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

Наиболее распространенными типами шейдеров являются шейдеры вершин, которые производят вычисления для каждой вершины и заменяют собой контуры преобразования с помощью фиксированных функций и освещения в непрограммируемом графическом оборудовании, и шейдеры пикселей, которые производят вычисления для каждой точки, определяющие цвет пикселя, и заменяют собой контуры комбинирования цветов с использованием фиксированных функций в непрограммируемом графическом оборудовании.Современное графическое оборудование сделало возможным появление еще большего количества видов шейдеров —шейдеров поверхности, шейденов доменов, шейдеров геометрии для графических вычислений и вычислительных шейдеров для неграфических вычислений.В непрограммируемом графическом оборудовании ни один из этих этапов просто не доступен.Шейдеры изначально создавались с использованием ассемблероподобного языка, который предполагал параллельные (SIMD) и предназначенные для графики (скалярное произведение) инструкции.Сегодня шейдеры обычно создаются с помощью С-подобных языков высокого уровня, таких как HLSL (High Level Shader Language).

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

DGSL-документы

Конструктор шейдера сохраняет шейдеры в формате Язык шейдера направленного графа (DGSL), формат XML, основанный на языке разметки Направленного графа (DGML).Можно применить шейдеры DGSL непосредственно к трехмерным моделям в редакторе моделей.Однако прежде чем можно будет использовать шейдер DGSL в своем приложении, необходимо экспортировать его в формате, понятном для DirectX, например HLSL.

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

См. также

Заголовок

Описание

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

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

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

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

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

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