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

ShaderLab: определение подшейдера

Чтобы определить SubShader в ShaderLabязык Unity для определения структуры объектов Shader. Подробнее
Посмотрите в Словарь
, вы используете SubShader блок. На этой странице содержится информация об использовании блоков SubShader.

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

Обзор

Объект Shader содержит один или несколько SubShader. Субшейдеры позволяют определять различные параметры графического процессора и шейдерные программы для различного оборудования, конвейеров рендеринга и параметров среды выполнения. Некоторые объекты Shader содержат только один SubShader; другие содержат несколько субшейдеров для поддержки различных конфигураций.

Совместимость конвейера рендеринга

Название функции Встроенный конвейер рендеринга Универсальный конвейер рендеринга (URP) Конвейер рендеринга высокого разрешения (HDRP) Пользовательская SRP
ShaderLab: SubShader block Да Да Да Да

Использование блока SubShader

В ShaderLab вы определяете вложенный шейдер, помещая блок SubShader внутрь блока Shader.

Внутри блока SubShader вы можете:

Подпись Функции
SubShader
{
    <optional: LOD>
    <optional: tags>
    <optional: commands>
    <One or more Pass definitions>
}
Defines a SubShader.

Вы можете определить столько Pass, сколько хотите в SubShader.

Примеры

В этом примере кода демонстрируется синтаксис для создания объекта Shader, содержащего один SubShader, который, в свою очередь, содержит один Pass.

Shader "Examples/SinglePass" { SubShader { Tags { "ExampleSubShaderTagKey" = "ExampleSubShaderTagValue" } LOD 100 // ShaderLab commands that apply to the whole SubShader go here. Pass { Name "ExamplePassName" Tags { "ExamplePassTagKey" = "ExamplePassTagValue" } // ShaderLab commands that apply to this Pass go here. // HLSL code goes here. } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3