Flutter Impeller
impeller::ColorAttachmentDescriptor Struct Reference

Describe the color attachment that will be used with this pipeline. More...

#include <formats.h>

Public Member Functions

constexpr bool operator== (const ColorAttachmentDescriptor &o) const
 
constexpr size_t Hash () const
 

Public Attributes

PixelFormat format = PixelFormat::kUnknown
 
bool blending_enabled = false
 
BlendFactor src_color_blend_factor = BlendFactor::kSourceAlpha
 
BlendOperation color_blend_op = BlendOperation::kAdd
 
BlendFactor dst_color_blend_factor = BlendFactor::kOneMinusSourceAlpha
 
BlendFactor src_alpha_blend_factor = BlendFactor::kSourceAlpha
 
BlendOperation alpha_blend_op = BlendOperation::kAdd
 
BlendFactor dst_alpha_blend_factor = BlendFactor::kOneMinusSourceAlpha
 
ColorWriteMask write_mask = ColorWriteMaskBits::kAll
 

Detailed Description

Describe the color attachment that will be used with this pipeline.

Blending at specific color attachments follows the pseudo-code:

final_color.rgb = (src_color_blend_factor * new_color.rgb)
(dst_color_blend_factor * old_color.rgb);
final_color.a = (src_alpha_blend_factor * new_color.a)
(dst_alpha_blend_factor * old_color.a);
} else {
final_color = new_color;
}
// IMPORTANT: The write mask is applied irrespective of whether
// blending_enabled is set.
final_color = final_color & write_mask;

The default blend mode is 1 - source alpha.

Definition at line 518 of file formats.h.

Member Function Documentation

◆ Hash()

constexpr size_t impeller::ColorAttachmentDescriptor::Hash ( ) const
inlineconstexpr

◆ operator==()

constexpr bool impeller::ColorAttachmentDescriptor::operator== ( const ColorAttachmentDescriptor o) const
inlineconstexpr

Definition at line 532 of file formats.h.

532  {
533  return format == o.format && //
534  blending_enabled == o.blending_enabled && //
535  src_color_blend_factor == o.src_color_blend_factor && //
536  color_blend_op == o.color_blend_op && //
537  dst_color_blend_factor == o.dst_color_blend_factor && //
538  src_alpha_blend_factor == o.src_alpha_blend_factor && //
539  alpha_blend_op == o.alpha_blend_op && //
540  dst_alpha_blend_factor == o.dst_alpha_blend_factor && //
541  write_mask == o.write_mask;
542  }

References alpha_blend_op, blending_enabled, color_blend_op, dst_alpha_blend_factor, dst_color_blend_factor, format, src_alpha_blend_factor, src_color_blend_factor, and write_mask.

Member Data Documentation

◆ alpha_blend_op

◆ blending_enabled

◆ color_blend_op

◆ dst_alpha_blend_factor

◆ dst_color_blend_factor

◆ format

◆ src_alpha_blend_factor

◆ src_color_blend_factor

◆ write_mask


The documentation for this struct was generated from the following file: