Unity 6.3
0 онлайн 134 гостей 3 в системе
Вход
Материалы и шейдеры Шаг 249 из 442

Установка режима смешивания в шейдере

Команда Blend определяет, каким образом GPU объединяет вывод шейдера фрагментов с целью рендеринга.

Функциональность этой команды зависит от операции смешивания, которую можно установить с помощью команды BlendOp. Обратите внимание, что в то время как смешивание само по себе поддерживается на всех графиках APIs и оборудовании, некоторые операции смешивания имеют более ограниченную поддержку.

Включение blending отключает некоторые оптимизации на GPU (в основном удаление скрытых поверхностей/Early-Z), что может привести к увеличению времени кадров GPU.

Общие типы смесей

Ниже приведен синтаксис для наиболее распространенных типов смешения:

Blend SrcAlpha OneMinusSrcAlpha // Traditional transparency
Blend One OneMinusSrcAlpha // Premultiplied transparency
Blend One One // Additive
Blend OneMinusDstColor One // Soft additive
Blend DstColor Zero // Multiplicative
Blend DstColor SrcColor // 2x multiplicative

Примеры

Shader "Examples/CommandExample"
{
    SubShader
    {
         // The rest of the code that defines the SubShader goes here.

        Pass
        {    
              // Enable regular alpha blending for this Pass
      Blend SrcAlpha OneMinusSrcAlpha
            
              // The rest of the code that defines the Pass goes here.
        }
    }
}

Этот пример кода демонстрирует синтаксис для использования этой команды в блоке SubShader.

Shader "Examples/CommandExample"
{
    SubShader
    {
         // Enable regular alpha blending for this SubShader
         Blend SrcAlpha OneMinusSrcAlpha

         // The rest of the code that defines the SubShader goes here.        

        Pass
        {    
              // The rest of the code that defines the Pass goes here.
        }
    }
}

Дополнительные ресурсы