pub struct QualitySettings {
pub taa: bool,
pub ssao: Option<SsaoSettings>,
pub ssr: Option<SsrSettings>,
pub rt_reflections: Option<RtReflectionSettings>,
pub ssgi: Option<SsgiSettings>,
pub reflection_blur_scale: u32,
pub auto_exposure: Option<AutoExposureSettings>,
pub auto_exposure_bias_ev: f32,
}Expand description
The resolved per-feature quality settings for RenderBackend::apply_quality_settings.
GraphicsSystem derives these from its stored PostProcessConfig (with the
user’s persisted toggle overrides applied) whenever a Quality-group toggle
changes, so the backend receives ready-to-use settings rather than re-deriving
from the asset. Each Option mirrors the init-time gate: None means the
feature is off and its passes / resources should be torn down; Some means it
is on and its resources should exist. A backend without a live-rebuild path
ignores this (the choice still persists and applies at the next launch).
Fields§
§taa: boolTemporal anti-aliasing on/off (the Taa anti-aliasing mode). The backend
additionally suppresses TAA while temporal upscaling is active (the scaler
does its own accumulation). The other anti-aliasing modes are the composite
FXAA edge filter, which rides PostProcessTunables.fxaa (pushed via
update_post_process), not this pass-rebuild payload.
ssao: Option<SsaoSettings>Screen-space ambient occlusion, or None when off.
ssr: Option<SsrSettings>Screen-space reflections, or None when off.
rt_reflections: Option<RtReflectionSettings>Hardware ray-traced reflections. The backend further gates this on GPU ray-tracing support, falling back to leaving it off when unsupported.
ssgi: Option<SsgiSettings>Screen-space global illumination, or None when off.
reflection_blur_scale: u32Per-axis divisor for the roughness-aware reflection blur target (the
reduced-resolution first pass of the SSR / RT reflection composite),
resolved from PostProcessConfig.reflection_blur_resolution. Every backend
sizes its blur target at render / this on a live reflection rebuild.
auto_exposure: Option<AutoExposureSettings>Auto-exposure, or None when off.
auto_exposure_bias_ev: f32The authored exposure bias (stops) auto-exposure applies on top of its adapted value; carried so a live auto-exposure enable matches init.
Auto Trait Implementations§
impl Freeze for QualitySettings
impl RefUnwindSafe for QualitySettings
impl Send for QualitySettings
impl Sync for QualitySettings
impl Unpin for QualitySettings
impl UnsafeUnpin for QualitySettings
impl UnwindSafe for QualitySettings
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more