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

Встроенный шейдер включающий файлы

Unity содержит несколько файлов, которые могут использоваться вашими шейдерными программами для добавления предопределенных переменных и вспомогательных функций. Это делается стандартной директивой #include, например:

CGPROGRAM // ... #include "UnityCG.cginc" // ... ENDCG

Включаемые файлы шейдеров в Unity имеют расширение .cginc, а встроенные файлы:

  • HLSLSupport.cginc — (автоматически включается) Вспомогательные макросы и определения для кроссплатформенного шейдераПрограмма, работающая на графическом процессоре. Подробнее
    См. в сборнике Словарь
    .
  • UnityShaderVariables.cginc(автоматически включается) часто используемые глобальные переменные.
  • UnityCG.cginc — часто используемые вспомогательные функции.
  • AutoLight.cginc — функции освещения и затенения, например. поверхностные шейдерыУпрощенный способ написания шейдеров для встроенного конвейера рендеринга . Подробнее
    См. в Словарь
    используйте этот файл для внутреннего использования.
  • Lighting.cginc — стандартные поверхностные шейдеры модели освещения; автоматически включается при написании поверхностных шейдеров.
  • TerrainEngine.cginc – вспомогательные функции для Terrainландшафта в вашей сцене. Игровой объект Terrain добавляет в вашу сцену большую плоскую плоскость, и вы можете использовать окно Terrain Inspector для создания подробного ландшафта. Подробнее
    См. в Словаре
    и шейдерах растительности.

Эти файлы находятся внутри приложения Unity ({путь установки Unity}/Data/CGIncludes/UnityCG.cginc в Windows, /Applications/Unity/Unity.app/Contents/CGIncludes/ UnityCG.cginc на Mac), если вы хотите посмотреть, что именно делается во вспомогательном коде.

HLSLSupport.cginc

Этот файл автоматически включается при компиляции шейдеров CGPROGRAM (но не включается в шейдеры HLSLPROGRAM). Он объявляет различные макросы препроцессора, чтобы помочь в разработке мультиплатформенных шейдеров.

UnityShaderVariables.cginc

Этот файл автоматически включается при компиляции шейдеров CGPROGRAM (но не включается в шейдеры HLSLPROGRAM). Он объявляет различные встроенные глобальные переменные, которые обычно используются в шейдерах.

UnityCG.cginc

Этот файл часто включается в объекты Shader. Он объявляет множество встроенных вспомогательных функций и структур данных.

Структуры данных в UnityCG.cginc

  • struct appdata_base: вершинный шейдерпрограмма, которая выполняется в каждой вершине 3D-модели во время рендеринга модели. Подробнее
    См. в Словарь
    ввод с позицией, нормалью, одной координатой текстуры.
  • struct appdata_tan: ввод вершинного шейдера с позицией, нормалью, касательной, одной координатой текстуры.
  • struct appdata_full: ввод вершинного шейдера с позицией, нормалью, касательной, цветом вершины и двумя координатами текстуры.
  • struct appdata_img: ввод вершинного шейдера с позицией и одной координатой текстуры.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3