Attention: Here be dragons (unstable version)

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Redot.

RDPipelineMultisampleState

Inherits: RefCounted < Object

Pipeline multisample state (used by RenderingDevice).

Description

RDPipelineMultisampleState is used to control how multisample or supersample antialiasing is being performed when rendering using RenderingDevice.

Properties

bool

enable_alpha_to_coverage

false

bool

enable_alpha_to_one

false

bool

enable_sample_shading

false

float

min_sample_shading

0.0

TextureSamples

sample_count

0

Array[int]

sample_masks

[]


Property Descriptions

bool enable_alpha_to_coverage = false 🔗

  • void set_enable_alpha_to_coverage(value: bool)

  • bool get_enable_alpha_to_coverage()

If true, alpha to coverage is enabled. This generates a temporary coverage value based on the alpha component of the fragment's first color output. This allows alpha transparency to make use of multisample antialiasing.


bool enable_alpha_to_one = false 🔗

  • void set_enable_alpha_to_one(value: bool)

  • bool get_enable_alpha_to_one()

If true, alpha is forced to either 0.0 or 1.0. This allows hardening the edges of antialiased alpha transparencies. Only relevant if enable_alpha_to_coverage is true.


bool enable_sample_shading = false 🔗

  • void set_enable_sample_shading(value: bool)

  • bool get_enable_sample_shading()

If true, enables per-sample shading which replaces MSAA by SSAA. This provides higher quality antialiasing that works with transparent (alpha scissor) edges. This has a very high performance cost. See also min_sample_shading. See the per-sample shading Vulkan documentation for more details.


float min_sample_shading = 0.0 🔗

  • void set_min_sample_shading(value: float)

  • float get_min_sample_shading()

The multiplier of sample_count that determines how many samples are performed for each fragment. Must be between 0.0 and 1.0 (inclusive). Only effective if enable_sample_shading is true. If min_sample_shading is 1.0, fragment invocation must only read from the coverage index sample. Tile image access must not be used if enable_sample_shading is not 1.0.


TextureSamples sample_count = 0 🔗

The number of MSAA samples (or SSAA samples if enable_sample_shading is true) to perform. Higher values result in better antialiasing, at the cost of performance.


Array[int] sample_masks = [] 🔗

The sample mask array. See the sample mask Vulkan documentation for more details.