Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Встроенные вспомогательные функции шейдера

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

Функции, объявленные в UnityCG.cginc

См. Встроенные включаемые файлы шейдеров для обзора включаемых файлов шейдеров, поставляемых с Unity.

Функции преобразования вершин в UnityCG.cginc

Функции: Описание:
float4 UnityObjectToClipPos(float3 pos) Преобразует точку из пространства объекта в камеруКомпонент, который создает изображение определенной точки обзора в вашей сцене. Вывод либо рисуется на экране, либо фиксируется в виде текстуры. Подробнее
Посмотреть в Словарь
в однородных координатах. Это эквивалент mul(UNITY_MATRIX_MVP, float4(pos, 1.0)), и его следует использовать вместо него.
float3 UnityObjectToViewPos(float3 pos) Преобразует точку из пространства объектов в пространство обзора. Это эквивалент mul(UNITY_MATRIX_MV, float4(pos, 1.0)).xyz, и его следует использовать вместо него.

Общие вспомогательные функции в UnityCG.cginc

Функции: Описание:
float3 WorldSpaceViewDir (float4 v) Возвращает направление в мировом пространстве (не нормализованное) от заданной позиции вершины пространства объекта к камере.
float3 ObjSpaceViewDir (float4 v) Возвращает направление пространства объекта (не нормализованное) от заданной позиции вершины пространства объекта к камере.
float2 ParallaxOffset (half h, half height, half3 viewDir) вычисляет смещение UV для карт нормалей параллакса.
fixed Luminance (fixed3 c) Преобразует цвет в яркость (оттенки серого).
fixed3 DecodeLightmap (fixed4 color) Декодирует цвет из карты освещенияUnity. Предварительно обработанная текстура содержит эффекты источников света на статических объектах сцены. Карты освещения накладываются поверх геометрии сцены для создания эффекта освещения. Подробнее
См. в Словаре
(RGBM или dLDR в зависимости от платформы).
float4 EncodeFloatRGBA (float v) Кодирует плавающий диапазон [0..1) в цвет RGBA для хранения в цели рендеринга с низкой точностью.
float DecodeFloatRGBA (float4 enc) Декодирует цвет RGBA в число с плавающей запятой.
float2 EncodeFloatRG (float v) Кодирует диапазон [0..1) float в float2.
float DecodeFloatRG (float2 enc) Декодирует ранее закодированное число с плавающей запятой RG.
float2 EncodeViewNormalStereo (float3 n) Кодирует нормаль пространства просмотра в два числа в диапазоне 0..1.
float3 DecodeViewNormalStereo (float4 enc4) Декодирует нормальное пространство просмотра из enc4.xy.

Вспомогательные функции прямого рендеринга в UnityCG.cginc

Эти функции полезны только при использовании прямого рендерингапроцесса вывода графики на экран (или в текстуру рендеринга). . По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь
(типы проходов ForwardBase или ForwardAdd).

Функции: Описание:
float3 WorldSpaceLightDir (float4 v) Вычисляет направление в мировом пространстве (не нормализовано) к свету, учитывая позицию вершины пространства объекта.
float3 ObjSpaceLightDir (float4 v) Вычисляет направление пространства объекта (не нормализованное) к свету, учитывая позицию вершины пространства объекта.
float3 Shade4PointLights (...) Вычисляет освещенность от четырех точечных источников света, при этом данные освещения плотно упакованы в векторы. Прямой рендерингПуть рендеринга, при котором каждый объект визуализируется за один или несколько проходов, в зависимости от освещения, воздействующего на объект. Сами источники света также обрабатываются Forward Rendering по-разному, в зависимости от их настроек и интенсивности. Подробнее
См. в Словарь
использует это для вычисления повершинного освещения.

Вспомогательные функции экранного пространства в UnityCG.cginc

Следующие функции являются помощниками для вычисления координат, используемых для выборки текстур экранного пространства. Они возвращают float4, где конечная координата образца текстуры может быть вычислена с помощью перспективного деления (например, xy/w).

Функции также учитывают различия платформ в отрисовке текстурыОсобый тип текстуры, который создается и обновляется во время выполнения. Чтобы использовать их, сначала создайте новую текстуру рендеринга и назначьте одну из ваших камер для рендеринга в нее. Затем вы можете использовать Render Texture в материале, как обычную текстуру. Подробнее
Посмотреть в Словарь
.

Функции: Описание:
float4 ComputeScreenPos (float4 clipPos) Вычисляет координату текстуры для создания образца текстуры с отображением в экранном пространстве. Входные данные - позиция клипа в пространстве.
float4 ComputeGrabScreenPos (float4 clipPos) Вычисляет координаты текстуры для выборки текстуры GrabPass. Входные данные - позиция клипа в пространстве.

Вспомогательные функции с подсветкой вершин в UnityCG.cginc

Эти функции полезны только при использовании шейдеров с подсветкой для каждой вершины (тип прохода "Вершина").

Функции: Описание:
float3 ShadeVertexLights (float4 vertex, float3 normal) Вычисляет освещение от четырех источников света для каждой вершины и окружающего освещения, учитывая положение объекта в пространстве и нормаль.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3