Встроенные подключаемые файлы для шейдеров
В Unity есть набор файлов, содержащих заранее определенные переменные и вспомогательные функции, которые могут быть использованы при создании шейдеров. Подключение реализуется с помощью стандартной команды #include
, т. е.:
CGPROGRAM
// ...
#include "UnityCG.cginc"
// ...
ENDCG
HLSLSupport.cginc
- (подключается автоматически) Вспомогательные макросы и определения функций для кросплатформенной компиляции шейдеров.UnityCG.cginc
- часто используемые глобальные переменные и вспомогательные функции.UnityCG.cginc
- часто используемые глобальные переменные и вспомогательные функции.AutoLight.cginc
- функционал освещения и создания теней, например поверхностные шейдеры по умолчанию используют этот файл.Lighting.cginc
- модель освещения стандартного поверхностного шейдера; подключается автоматически при создании поверхностных шейдеров.TerrainEngine.cginc
- вспомогательные функции для работы с шейдерами Terrain & Vegetation.Эти файлы можно найти в папке приложения Unity (
в Windows, в Mac), если вам захочется посмотреть, как реализован тот или иной функционал.При компиляции шейдеров этот файл подключается автоматически. По большей части, он состоит из предпроцессорных макросов для упрощения работы с кросплатформенными шейдерами.
При компиляции шейдеров этот файл подключается автоматически. По большей части, он состоит из предпроцессорных макросов для упрощения работы с кросплатформенными шейдерами.
Обычно этот файл включают в шейдеры Unity, когда требуется получить доступ к дополнительным вспомогательным функциям.
appdata_base
: входные данные для вершинного шейдера, включающие положение вершины, ее нормаль и одну текстурную координату.appdata_tan
: входные данные для вершинного шейдера, включающие положение вершины, ее нормаль, касательную и одну текстурную координату.appdata_full
: входные данные для вершинного шейдера, включающие положение вершины, ее нормаль, касательную, цвет вершины и две текстурные координаты.appdata_img
: входные данные для вершинного шейдера, включающие положение вершины и одну текстурную координату.Подключаемые файлы имеют расширение .cginc
, ниже представлен список стандартных библиотек: