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