Импорт файла из библиотеки шейдеров во Встроенном Render Pipeline
Unity содержит несколько файлов, которые могут быть использованы вашими шейдерными программами для ввода предопределенных переменных и вспомогательных функций. Это делается стандартной директивой #include, e.g.:
SubShader {
Pass {
HLSLPROGRAM
#include "UnityCG.cginc"
ENDHLSL
}
}
Файлы Shader Include в Unity имеют расширение .cginc, а встроенные файлы:
HLSLSupport.cginc: заявляет о различных макросы препроцессора для помощи в разработке многоплатформенных шейдеров. Unity автоматически включает этот файл, еслиCGPROGRAM. Для получения дополнительной информации см. Блоки кода шейдера в ShaderLab ссылка.UnityShaderVariables.cginc: заявляет о различных встроенные глобальные переменные которые обычно используются в шейдерах. Unity автоматически включает этот файл, еслиCGPROGRAM. Для получения дополнительной информации см. Блоки кода шейдера в ShaderLab ссылка.UnityCG.cginc: Часто используемые встроенные вспомогательные функции и структуры данных.AutoLight.cginc: Функциональность освещения и тени, например поверхностные шейдеры используйте этот файл внутренне.Lighting.cginc: Стандартный поверхностный шейдер модели освещения. Unity автоматически включает этот файл, если вы записываете поверхностные шейдеры.TerrainEngine.cginc: Вспомогательные функции для пейзажных и растительных шейдеров.
Примечание: Хотя файлы библиотеки шейдеров имеют .cginc расширение файла, они написаны в HLSL вместо CG.
Эти файлы находятся внутри Unity приложения ({unity install path}/Data/Resources/CGIncludes/UnityCG.cginc на Windows, /Applications/Unity/Unity.app/Contents/Resources/CGIncludes/UnityCG.cginc на Mac), если вы хотите взглянуть на то, что именно делается в любом из помощника кода.