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

Обзор написания шейдеров

Языки

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

  • Язык программирования под названием HLSL. Используйте это для написания самих шейдерных программ. Дополнительные сведения о HLSL см. в разделе HLSL в Unity.
  • Специфический язык Unity под названием ShaderLab. Используйте его, чтобы определить объект шейдера, который действует как контейнер для ваших шейдерных программ. Дополнительные сведения о ShaderLab см. в разделе ShaderLabязык Unity для определения структуры объектов Shader. Подробнее
    См. в Словарь
    .

Вам не нужно использовать разные языки для разных платформ; Unity компилирует ваш код HLSL и ShaderLab на разные языки для разных графических API. Дополнительные сведения см. в разделе компиляция шейдеров.

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

Различные способы написания шейдеров

Существуют разные способы написания шейдеров:

  • Самый распространенный способ — написать вершинные и фрагментные шейдеры на HLSL. Дополнительную информацию см. в разделе Написание вершинных и фрагментных шейдеров.
  • Во встроенном конвейере рендеринга вы также можете создавать поверхностные шейдеры. Это упрощенный способ написания шейдеров, взаимодействующих с освещением. Дополнительную информацию см. в разделе Шейдеры поверхностиУпрощенный способ написания шейдеров для Встроенный конвейер рендеринга. Подробнее
    См. в Словарь
    .
  • Из соображений обратной совместимости Unity также поддерживает команды ShaderLab с фиксированным стилем функций. Они позволяют писать шейдеры в ShaderLab без использования HLSL. Это больше не рекомендуется, но описано на странице устаревшие функции ShaderLab.

Написание шейдеров для различных графических API

В некоторых случаях код шейдера необходимо писать по-разному в зависимости от целевого графического API. Информацию об этом см. в разделе Написание шейдеров для различных графических API.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3