Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
RDPipelineColorBlendStateAttachment
Наследует: RefCounted < Object
Присоединение состояния смешивания цветов конвейера (используется RenderingDevice).
Описание
Управляет тем, как выполняется смешивание между исходными и целевыми фрагментами при использовании RenderingDevice.
Для справки, вот как реализованы общие пользовательские режимы смешивания в 2D-рендерере Godot:
Mix:
var attachment = RDPipelineColorBlendStateAttachment.new()
attachment.enable_blend = true
attachment.color_blend_op = RenderingDevice.BLEND_OP_ADD
attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA
attachment.dst_color_blend_factor = RenderingDevice.BLEND_FACTOR_ONE_MINUS_SRC_ALPHA
attachment.alpha_blend_op = RenderingDevice.BLEND_OP_ADD
attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE
attachment.dst_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE_MINUS_SRC_ALPHA
Add:
var attachment = RDPipelineColorBlendStateAttachment.new()
attachment.enable_blend = true
attachment.alpha_blend_op = RenderingDevice.BLEND_OP_ADD
attachment.color_blend_op = RenderingDevice.BLEND_OP_ADD
attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA
attachment.dst_color_blend_factor = RenderingDevice.BLEND_FACTOR_ONE
attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA
attachment.dst_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE
Subtract:
var attachment = RDPipelineColorBlendStateAttachment.new()
attachment.enable_blend = true
attachment.alpha_blend_op = RenderingDevice.BLEND_OP_REVERSE_SUBTRACT
attachment.color_blend_op = RenderingDevice.BLEND_OP_REVERSE_SUBTRACT
attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA
attachment.dst_color_blend_factor = RenderingDevice.BLEND_FACTOR_ONE
attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_SRC_ALPHA
attachment.dst_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE
Multiply:
var attachment = RDPipelineColorBlendStateAttachment.new()
attachment.enable_blend = true
attachment.alpha_blend_op = RenderingDevice.BLEND_OP_ADD
attachment.color_blend_op = RenderingDevice.BLEND_OP_ADD
attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_DST_COLOR
attachment.dst_color_blend_factor = RenderingDevice.BLEND_FACTOR_ZERO
attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_DST_ALPHA
attachment.dst_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ZERO
Pre-multiplied alpha:
var attachment = RDPipelineColorBlendStateAttachment.new()
attachment.enable_blend = true
attachment.alpha_blend_op = RenderingDevice.BLEND_OP_ADD
attachment.color_blend_op = RenderingDevice.BLEND_OP_ADD
attachment.src_color_blend_factor = RenderingDevice.BLEND_FACTOR_ONE
attachment.dst_color_blend_factor = RenderingDevice.BLEND_FACTOR_ONE_MINUS_SRC_ALPHA
attachment.src_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE
attachment.dst_alpha_blend_factor = RenderingDevice.BLEND_FACTOR_ONE_MINUS_SRC_ALPHA
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
void |
Описания свойств
BlendOperation alpha_blend_op = 0 🔗
void set_alpha_blend_op(value: BlendOperation)
BlendOperation get_alpha_blend_op()
Режим смешивания, используемый для альфа-канала.
BlendOperation color_blend_op = 0 🔗
void set_color_blend_op(value: BlendOperation)
BlendOperation get_color_blend_op()
Режим смешивания, используемый для цветовых каналов красного/зеленого/синего.
BlendFactor dst_alpha_blend_factor = 0 🔗
void set_dst_alpha_blend_factor(value: BlendFactor)
BlendFactor get_dst_alpha_blend_factor()
Управляет тем, как определяется коэффициент смешивания для альфа-канала на основе фрагментов назначения.
BlendFactor dst_color_blend_factor = 0 🔗
void set_dst_color_blend_factor(value: BlendFactor)
BlendFactor get_dst_color_blend_factor()
Управляет тем, как определяется коэффициент смешивания для цветовых каналов на основе фрагментов назначения.
Если true, выполняет смешивание между источником и назначением в соответствии с факторами, определенными в src_color_blend_factor, dst_color_blend_factor, src_alpha_blend_factor и dst_alpha_blend_factor. Режимы смешивания color_blend_op и alpha_blend_op также учитываются, при этом write_r, write_g, write_b и write_a управляют выводом.
BlendFactor src_alpha_blend_factor = 0 🔗
void set_src_alpha_blend_factor(value: BlendFactor)
BlendFactor get_src_alpha_blend_factor()
Управляет тем, как определяется коэффициент смешивания для альфа-канала на основе фрагментов источника.
BlendFactor src_color_blend_factor = 0 🔗
void set_src_color_blend_factor(value: BlendFactor)
BlendFactor get_src_color_blend_factor()
Управляет тем, как определяется коэффициент смешивания цветовых каналов на основе фрагментов источника.
Если true, записывает новый альфа-канал в конечный результат.
Если true, записывает новый канал синего цвета в конечный результат.
Если true, записывает новый канал зеленого цвета в конечный результат.
Если true, записывает новый канал красного цвета в конечный результат.
Описания метода
void set_as_mix() 🔗
Удобный метод для выполнения стандартного смешивания с прямой (не предварительно умноженной) альфой. Это устанавливает enable_blend в true, src_color_blend_factor в RenderingDevice.BLEND_FACTOR_SRC_ALPHA, dst_color_blend_factor в RenderingDevice.BLEND_FACTOR_ONE_MINUS_SRC_ALPHA, src_alpha_blend_factor в RenderingDevice.BLEND_FACTOR_SRC_ALPHA и dst_alpha_blend_factor в RenderingDevice.BLEND_FACTOR_ONE_MINUS_SRC_ALPHA.