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

Определяет операцию смешивания, используемую командой «Смешивание». Чтобы эта команда имела какой-либо эффект, также должна быть команда Blend в том же блоке Pass (если эта команда находится в блоке Pass) или блоке SubShader (если эта команда находится в блоке SubShader).

Не все операции смешивания поддерживаются на всех устройствах, и поддержка зависит как от графического API, так и от аппаратного обеспечения. Различные графические API обрабатывают неподдерживаемые операции смешивания по-разному: GL пропускает неподдерживаемые операции, а Vulkan и Metal возвращаются к операциям добавления.

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

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

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

Эта команда изменяет состояние рендеринга. Используйте его в блоке Pass, чтобы задать состояние рендеринга для этого Pass, или используйте его в блоке SubShader, чтобы задать рендеринг. состояние для всех проходов в этом субшейдере.

Подпись Пример синтаксиса Функции
BlendOp BlendOp Sub Устанавливает операцию смешивания, используемую командой «Смешивание»..

Действительные значения параметров

Параметр Значение Функции
operation Add Добавьте источник и место назначения вместе.
Sub Вычтите пункт назначения из источника.
RevSub Вычесть источник из пункта назначения.
Min Используйте меньшее из исходного и конечного значений. (см. примечание 1)
Max Используйте большее из исходного и конечного значений. (см. примечание 1)
LogicalClear Логическая операция: Clear (0) (см. примечание 2)
LogicalSet Логическая операция: Set (1) (см. примечание 2)
LogicalCopy Логическая операция: Copy (s) (см. примечание 2)
LogicalCopyInverted Логическая операция: Copy inverted (!s) 2
LogicalNoop Логическая операция: Noop (d) (см. примечание 2)
LogicalInvert Логическая операция: Invert (!d) (см. примечание 2)
LogicalAnd Логическая операция: And (s & d) (см. примечание 2)
LogicalNand Логическая операция: Nand !(s & d) (см. примечание 2)
LogicalOr Логическая операция: Or (s | d) (см. примечание 2)
LogicalNor Логическая операция: Nor !(s | d) (см. примечание 2)
LogicalXor Логическая операция: Xor (s ^ d) (см. примечание 2)
LogicalEquiv Логическая операция: Equivalence !(s ^ d) (см. примечание 2)
LogicalAndReverse Логическая операция: Reverse And (s & !d) (см. примечание 2)
LogicalAndInverted Логическая операция: Inverted And (!s & d) (см. примечание 2)
LogicalOrReverse Логическая операция: Reverse Or (s | !d) (см. примечание 2)
LogicalOrInverted Логическая операция: Inverted Or (!s | d) (см. примечание 2)
Multiply Расширенная операция смешивания OpenGL: Multiply (см. примечание 3)
Screen Расширенная операция смешивания OpenGL: Screen (см. примечание 3)
Overlay Расширенная операция смешивания OpenGL: Overlay (см. примечание 3)
Darken Расширенная операция смешивания OpenGL: Darken (см. примечание 3)
Lighten Расширенная операция смешивания OpenGL: Lighten (см. примечание 3)
ColorDodge Расширенная операция смешивания OpenGL: ColorDodge (см. примечание 3)
ColorBurn Расширенная операция смешивания OpenGL: ColorBurn (см. примечание 3)
HardLight Расширенная операция смешивания OpenGL: HardLight (см. примечание 3)
SoftLight Расширенная операция смешивания OpenGL: SoftLight (см. примечание 3)
Difference Расширенная операция смешивания OpenGL: Difference (см. примечание 3)
Exclusion Расширенная операция смешивания OpenGL: Exclusion (см. примечание 3)
HSLHue Расширенная операция смешивания OpenGL: HSLHue (см. примечание 3)
HSLSaturation Расширенная операция смешивания OpenGL: HSLSaturation (см. примечание 3)
HSLColor Расширенная операция смешивания OpenGL: HSLColor (см. примечание 3)
HSLLuminosity Расширенная операция смешивания OpenGL: HSLLuminosity (см. примечание 3)

Примечания:

  1. Мин и Макс требуют GL_EXT_blend_minmax в OpenGL ES 2.
  2. Для логических операций требуется DX 11.1+ или Vulkan.
  3. Для расширенных операций смешивания OpenGL требуется GLES3.1 AEP+, GL_KHR_blend_equation_advanced или GL_NV_blend_equation_advanced. Их можно использовать только со стандартным смешиванием RGBA; они несовместимы с раздельным смешиванием RGB и альфа-канала.

Примеры

Shader "Examples/CommandExample" { SubShader { // The rest of the code that defines the SubShader goes here. Pass { // Enable subtractive blending for this Pass Blend SrcAlpha One BlendOp RevSub // The rest of the code that defines the Pass goes here. } } }

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

Shader "Examples/CommandExample" { SubShader { // Enable subtractive blending for this SubShader Blend SrcAlpha One BlendOp RevSub // The rest of the code that defines the SubShader goes here. Pass { // The rest of the code that defines the Pass goes here. } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3