Module smaa

Source
Expand description

Subpixel morphological antialiasing (SMAA).

SMAA is a 2011 antialiasing technique that takes an aliased image and smooths out the jaggies, making edges smoother. It’s been used in numerous games and has become a staple postprocessing technique. Compared to MSAA, SMAA has the advantage of compatibility with deferred rendering and reduction of GPU memory bandwidth. Compared to FXAA, SMAA has the advantage of improved quality, but the disadvantage of reduced performance. Compared to TAA, SMAA has the advantage of stability and lack of ghosting artifacts, but has the disadvantage of not supporting temporal accumulation, which have made SMAA less popular when advanced photorealistic rendering features are used in recent years.

To use SMAA, add Smaa to a bevy_render::camera::Camera. In a pinch, you can simply use the default settings (via the Default trait) for a high-quality, high-performance appearance. When using SMAA, you will likely want set bevy_render::view::Msaa to bevy_render::view::Msaa::Off for every camera using SMAA.

Those who have used SMAA in other engines should be aware that Bevy doesn’t yet support the following more advanced features of SMAA:

  • The temporal variant.

  • Depth- and chroma-based edge detection.

  • Predicated thresholding.

  • Compatibility with SSAA and MSAA.

Structs§

Smaa
A component for enabling Subpixel Morphological Anti-Aliasing (SMAA) for a bevy_render::camera::Camera.
SmaaBindGroups
A render world component that stores the bind groups necessary to perform SMAA.
SmaaInfoUniform
Values supplied to the GPU for SMAA.
SmaaInfoUniformBuffer
The GPU buffer that holds all SmaaInfoUniforms for all views.
SmaaInfoUniformOffset
A render world component that stores the offset of each SmaaInfoUniform within the SmaaInfoUniformBuffer for each view.
SmaaNeighborhoodBlendingPipelineKey
A unique identifier for a set of SMAA pipelines.
SmaaNode
The render graph node that performs subpixel morphological antialiasing (SMAA).
SmaaPipelines
A render world resource that holds all render pipeline data needed for SMAA.
SmaaPlugin
Adds support for subpixel morphological antialiasing, or SMAA.
SmaaSpecializedRenderPipelines
Stores the specialized render pipelines for SMAA.
SmaaTextures
A render world component that holds the intermediate textures necessary to perform SMAA.
ViewSmaaPipelines
A render world component that holds the pipeline IDs for the SMAA passes.

Enums§

SmaaPreset
A preset quality level for SMAA.