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


Постоянные узлы

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

Интерполяция атрибута вершины

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

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

Справочная информация по узлам констант

Узел

Подробные сведения

Свойства

Вектор камеры

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

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

Output

Output: float3

Вектор из текущего пикселя к камере.

None

Константа цвета

Значение постоянного цвета.

Output

Output: float4

Значение цвета.

Output

Значение цвета.

Константа

Постоянное скалярное значение.

Output

Output: float

Скалярное значение.

Output

Скалярное значение.

2D-константа

Двухкомпонентная константа вектора.

Output

Output: float2

Векторное значение.

Output

Векторное значение.

3D-константа

Трехкомпонентная константа вектора.

Output

Output: float3

Векторное значение.

Output

Векторное значение.

4D-константа

Четырехкомпонентная константа вектора.

Output

Output: float4

Значение цвета.

Output

Векторное значение.

Нормализованное положение

Позиция текущего пикселя, выраженная в нормализованных координатах устройства.

Координата х и координата y имеют значения в диапазоне [1, 1], координата z содержат значение в диапазоне [0, 1], а компонент w содержит значение глубины точки в пространстве представления; w не нормализовано.

Output

Output: float4

Позиция текущего пикселя.

None

Цвет точки

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

Output

Output: float4

Диффузный цвет текущего пикселя.

None

Глубина точки

Глубина текущего пикселя в пространстве представления.

Output

Output: float

Глубина текущего пикселя.

None

Нормализованная глубина точки

Глубина текущего пикселя, выраженная в нормализованных координатах устройства.

Результирующее значение лежит в диапазоне [0, 1].

Output

Output: float

Глубина текущего пикселя.

None

Положение на экране

Позиция текущего пикселя, выраженная в координатах экрана.

Координаты экрана основаны на текущем окне просмотра.Компоненты x и y содержит координаты экрана, компонент z содержит глубину, нормализованную с диапазоном [0, 1], а компонент w содержит значение глубины в пространстве представления.

Output

Output: float4

Позиция текущего пикселя.

None

Нормаль к поверхности

Нормаль к поверхности, построенная из текущего пикселя в пространстве объекта.

Эту нормаль можно использовать для вычисления добавочного освещения и отражения в пространстве объекта.

Output

Output: float3

Нормаль к поверхности, построенная из текущего пикселя.

None

Вектор камеры в пространстве касательных

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

Этот вектор можно использовать для вычисления отражения в пространстве касательных.

Output

Output: float3

Вектор из текущего пикселя к камере.

None

Направление света в пространстве касательных

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

Этот перпендикуляр можно использовать для вычисления добавочного освещения и отражения в пространстве касательных.

Результат

Output: float3

Вектор из текущего пикселя к источнику света.

None

Абсолютная нормаль

Нормаль к поверхности, построенная из текущего пикселя в абсолютном пространстве.

Эту нормаль можно использовать для вычисления добавочного освещения и отражения в абсолютном объекта.

Output

Output: float3

Нормаль к поверхности, построенная из текущего пикселя.

None

Положение в абсолютных координатах

Позиция текущего пикселя в абсолютном пространстве.

Output

Output: float4

Позиция текущего пикселя.

None