pub enum AntiAliasingMode {
None,
FXAA(FxaaSettings),
MSAA(u32),
MSAA_FXAA(u32, FxaaSettings),
TAA(TaaSettings),
TAA_FXAA(TaaSettings, FxaaSettings),
}Expand description
Unified anti-aliasing mode for the rendering pipeline.
Each variant carries its own configuration payload, forming an algebraic data type (ADT) that eliminates “ghost state” — only the settings for the currently active technique exist in memory.
The engine automatically manages MSAA render targets, FXAA post-process passes, and TAA temporal state based on the selected mode.
Variants§
None
No anti-aliasing. Maximum performance.
FXAA(FxaaSettings)
FXAA only. Minimal overhead — smooths high-frequency noise but produces softer geometric edges. Good for low-end / Web targets.
MSAA(u32)
Hardware multi-sampling (e.g. 4×). Crisp geometric edges but may exhibit PBR specular flickering. Best for non-PBR / toon styles.
MSAA_FXAA(u32, FxaaSettings)
MSAA + FXAA. MSAA resolves geometric edges, FXAA removes specular shimmer. Best static image quality with zero temporal ghosting.
TAA(TaaSettings)
Temporal Anti-Aliasing. Resolves all aliasing categories with slight temporal softening.
TAA_FXAA(TaaSettings, FxaaSettings)
TAA + FXAA. TAA handles temporal aliasing, FXAA provides extra smoothing.
Implementations§
Source§impl AntiAliasingMode
impl AntiAliasingMode
pub fn msaa_sample_count(&self) -> u32
pub fn is_taa(&self) -> bool
pub fn is_fxaa(&self) -> bool
pub fn fxaa_settings(&self) -> Option<&FxaaSettings>
pub fn taa_settings(&self) -> Option<&TaaSettings>
Trait Implementations§
Source§impl Clone for AntiAliasingMode
impl Clone for AntiAliasingMode
Source§fn clone(&self) -> AntiAliasingMode
fn clone(&self) -> AntiAliasingMode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AntiAliasingMode
impl Debug for AntiAliasingMode
Source§impl Default for AntiAliasingMode
impl Default for AntiAliasingMode
Source§fn default() -> AntiAliasingMode
fn default() -> AntiAliasingMode
impl Copy for AntiAliasingMode
Auto Trait Implementations§
impl Freeze for AntiAliasingMode
impl RefUnwindSafe for AntiAliasingMode
impl Send for AntiAliasingMode
impl Sync for AntiAliasingMode
impl Unpin for AntiAliasingMode
impl UnsafeUnpin for AntiAliasingMode
impl UnwindSafe for AntiAliasingMode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().