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
. - Smaa
Bind Groups - A render world component that stores the bind groups necessary to perform SMAA.
- Smaa
Info Uniform - Values supplied to the GPU for SMAA.
- Smaa
Info Uniform Buffer - The GPU buffer that holds all
SmaaInfoUniform
s for all views. - Smaa
Info Uniform Offset - A render world component that stores the offset of each
SmaaInfoUniform
within theSmaaInfoUniformBuffer
for each view. - Smaa
Neighborhood Blending Pipeline Key - A unique identifier for a set of SMAA pipelines.
- Smaa
Node - The render graph node that performs subpixel morphological antialiasing (SMAA).
- Smaa
Pipelines - A render world resource that holds all render pipeline data needed for SMAA.
- Smaa
Plugin - Adds support for subpixel morphological antialiasing, or SMAA.
- Smaa
Specialized Render Pipelines - Stores the specialized render pipelines for SMAA.
- Smaa
Textures - A render world component that holds the intermediate textures necessary to perform SMAA.
- View
Smaa Pipelines - A render world component that holds the pipeline IDs for the SMAA passes.
Enums§
- Smaa
Preset - A preset quality level for SMAA.