RDPipelineColorBlendStateAttachment

Успадковує: RefCounted < Object

Підвіска для трубопровідної кольорової суміші (використані RenderingDevice).

Опис

Контролює, як виконується змішування вихідних і цільових фрагментів під час використання RenderingDevice.

Для довідки, ось як звичайні режими змішування, призначені для користувача, реалізовані в 2D рендерері Godot:

Мікс:

var attachment = RDPipelineColorBlendStateAttachment.new()
attachment.enable_blend = ture
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

Додати:

var attachment = RDPipelineColorBlendStateAttachment.new()
attachment.enable_blend = ture
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

Відняти:

var attachment = RDPipelineColorBlendStateAttachment.new()
attachment.enable_blend = ture
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

Помножити:

var attachment = RDPipelineColorBlendStateAttachment.new()
attachment.enable_blend = ture
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

Попередньо помножена альфа:

var attachment = RDPipelineColorBlendStateAttachment.new()
attachment.enable_blend = ture
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

Властивості

BlendOperation

alpha_blend_op

0

BlendOperation

color_blend_op

0

BlendFactor

dst_alpha_blend_factor

0

BlendFactor

dst_color_blend_factor

0

bool

enable_blend

false

BlendFactor

src_alpha_blend_factor

0

BlendFactor

src_color_blend_factor

0

bool

write_a

true

bool

write_b

true

bool

write_g

true

bool

write_r

true

Методи

void

set_as_mix()


Описи властивостей

BlendOperation alpha_blend_op = 0 🔗

Режим суміші для використання альфа-каналу.


BlendOperation color_blend_op = 0 🔗

Режим блендера для використання червоно-зелених/блакитних кольорових каналів.


BlendFactor dst_alpha_blend_factor = 0 🔗

Контролює, як визначається коефіцієнт суміші для альфа-каналу на основі фрагментів призначення.


BlendFactor dst_color_blend_factor = 0 🔗

Контроль якості блендера для кольорових каналів визначається на основі фрагментів призначення.


bool enable_blend = false 🔗

  • void set_enable_blend(value: bool)

  • bool get_enable_blend()

Якщо 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 🔗

Контролює, як визначається коефіцієнт суміші для альфа-каналу на основі фрагментів джерела.


BlendFactor src_color_blend_factor = 0 🔗

Контроль якості блендера для кольорових каналів визначається на основі фрагментів джерела.


bool write_a = true 🔗

  • void set_write_a(value: bool)

  • bool get_write_a()

Якщо true, напишіть новий альфа-канал до кінцевого результату.


bool write_b = true 🔗

  • void set_write_b(value: bool)

  • bool get_write_b()

Якщо true, напишіть новий синій колірний канал до кінцевого результату.


bool write_g = true 🔗

  • void set_write_g(value: bool)

  • bool get_write_g()

Якщо true, напишіть новий зелений колірний канал до кінцевого результату.


bool write_r = true 🔗

  • void set_write_r(value: bool)

  • bool get_write_r()

Якщо 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.