Постоянные узлы
В конструкторе шейдера константные узлы представляют литеральные значения и интерполированные атрибуты вершины в вычислениях пиксельного шейдера. Так как атрибуты вершины интерполированы и поэтому различны для каждого пикселя, каждый экземпляр построителя текстуры получает разную версию константы. Это дает каждому пикселю уникальный внешний вид.
Интерполяция атрибута вершины
Изображение трехмерной сцены в игре или приложении создается путем математического преобразования ряда объектов — определяемых вершинами, атрибутами вершин и определениями примитивов — в экранные пиксели. Все сведения, необходимые для придания пикселю его уникального внешнего вида, предоставляются через атрибуты вершины, смешанные в соответствии близостью пикселя к различным вершинам, составляющим его примитив. Примитив – базовый элемент отрисовки; иными словами, простая форма, как точка, линия или треугольник. Пиксель, очень близко расположенный к одной из вершин, получает константы, почти идентичные этой вершине, но пиксель, равноудаленный от всех вершин примитива, получает константы, представляющие собой среднее для этих вершин. В программировании графики говорят, что константы, которые получают пиксели, интерполируются. Предоставление пикселям данных констант таким образом дает очень хорошее визуальное качество и в то же время снижает требования к памяти и пропускной способности.
Хотя каждый экземпляр построителя текстуры получает только один набор постоянных значений и не может изменять эти значения, разные экземпляры построителя текстуры получают различные наборы данных константы. Такой подход позволяет программе шейдера создавать другой цветовой вывод для каждой пикселя в примитиве.
Справочная информация по узлам констант
Узел |
Подробные сведения |
Свойства |
---|---|---|
Вектор камеры |
Вектор, построенный из текущего пикселя к камере в абсолютном пространстве. Этот вектор можно использовать для вычисления отражения в абсолютном пространстве. Output
|
Нет |
Константа цвета |
Значение постоянного цвета. Output
|
|
Константа |
Постоянное скалярное значение. Output
|
|
2D-константа |
Двухкомпонентная константа вектора. Output
|
|
3D-константа |
Трехкомпонентная константа вектора. Output
|
|
4D-константа |
Четырехкомпонентная константа вектора. Output
|
|
Нормализованное положение |
Позиция текущего пикселя, выраженная в нормализованных координатах устройства. Координата х и координата y имеют значения в диапазоне [1, 1], координата z содержат значение в диапазоне [0, 1], а компонент w содержит значение глубины точки в пространстве представления; w не нормализовано. Output
|
Нет |
Цвет точки |
Диффузный цвет текущего пикселя, который является сочетанием диффузного цвета материала и цветовых атрибутов вершины. Output
|
Нет |
Глубина точки |
Глубина текущего пикселя в пространстве представления. Output
|
Нет |
Нормализованная глубина точки |
Глубина текущего пикселя, выраженная в нормализованных координатах устройства. Результирующее значение лежит в диапазоне [0, 1]. Output
|
Нет |
Положение на экране |
Позиция текущего пикселя, выраженная в координатах экрана. Координаты экрана основаны на текущем окне просмотра. Компоненты x и y содержит координаты экрана, компонент z содержит глубину, нормализованную с диапазоном [0, 1], а компонент w содержит значение глубины в пространстве представления. Output
|
Нет |
Нормаль к поверхности |
Нормаль к поверхности, построенная из текущего пикселя в пространстве объекта. Эту нормаль можно использовать для вычисления добавочного освещения и отражения в пространстве объекта. Output
|
Нет |
Вектор камеры в пространстве касательных |
Вектор, построенный из текущего пикселя к камере в пространстве касательных. Этот вектор можно использовать для вычисления отражения в пространстве касательных. Output
|
Нет |
Направление света в пространстве касательных |
Вектор, определяющий направление, в котором излучается свет из источника света в пространстве касательных текущего пикселя. Этот перпендикуляр можно использовать для вычисления добавочного освещения и отражения в пространстве касательных. Выходные данные:
|
Нет |
Абсолютная нормаль |
Нормаль к поверхности, построенная из текущего пикселя в абсолютном пространстве. Эту нормаль можно использовать для вычисления добавочного освещения и отражения в абсолютном объекта. Output
|
Нет |
Положение в абсолютных координатах |
Позиция текущего пикселя в абсолютном пространстве. Output
|
Нет |