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
false | ||
false | ||
false | ||
0.0 | ||
0 | ||
[] |
Property Descriptions
bool enable_alpha_to_coverage = false 🔗
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 🔗
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 🔗
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 🔗
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 🔗
void set_sample_count(value: TextureSamples)
TextureSamples get_sample_count()
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.