pub struct PostSettings {Show 17 fields
pub post_process: PostProcessTunables,
pub taa_enabled: bool,
pub ssao: Option<SsaoSettings>,
pub ssr: Option<SsrSettings>,
pub ssgi: Option<SsgiSettings>,
pub rt_reflections: Option<RtReflectionSettings>,
pub rt_dynamic: RtDynamicMode,
pub rt_skinned_geometry: bool,
pub reflection_blur_scale: u32,
pub auto_exposure: Option<AutoExposureSettings>,
pub auto_exposure_bias_ev: f32,
pub hdr_display: bool,
pub hdr_pq: bool,
pub temporal_upscaling: bool,
pub upscale_scale: f32,
pub upscale_backend: UpscalerBackend,
pub occlusion_two_pass: bool,
}Expand description
Post-process and display settings resolved from PostProcessConfig (plus the user’s persisted overrides, the quality-preset ceiling, and the launch’s render requests). Every Option here is an init-time gate: None allocates nothing.
Fields§
§post_process: PostProcessTunablesComposite tunables pushed to the post pass. The backend pairs them with
the display-output flags it negotiates below (hdr_display / hdr_pq)
to build the uniform the shaders read.
taa_enabled: boolWhether the temporal anti-aliasing pass runs.
ssao: Option<SsaoSettings>Screen-space ambient occlusion, or None when off.
ssr: Option<SsrSettings>Screen-space reflections, or None when off.
ssgi: Option<SsgiSettings>Screen-space global illumination, or None when off.
rt_reflections: Option<RtReflectionSettings>Requires an RT-capable GPU; backends fall back to SSR without one.
rt_dynamic: RtDynamicModeHow the ray-tracing acceleration structure tracks moving props. Inert
when rt_reflections is None.
rt_skinned_geometry: boolWhether skinned meshes join the ray-tracing acceleration structure. False leaves the BVH over static + instanced geometry only, so nothing animated appears in a ray-traced reflection.
reflection_blur_scale: u32Per-axis divisor for the roughness-aware reflection blur target.
auto_exposure: Option<AutoExposureSettings>Auto-exposure, or None when off.
auto_exposure_bias_ev: f32Authored exposure_ev carried as a bias on the adapted EV when auto-exposure is on; otherwise baked into post_process.exposure.
hdr_display: boolHDR display request; each backend gates it on its own EDR / colour- space capability probe and falls back to SDR with a warning.
hdr_pq: boolPQ-encoded HDR output; honoured by Metal today, accepted elsewhere.
temporal_upscaling: boolWhether temporal upscaling runs.
upscale_scale: f32Per-axis input-to-output ratio; ignored when upscaling is off.
upscale_backend: UpscalerBackendUpscaler selector for DirectX / Vulkan (FSR3 / DLSS / XeSS); Metal always uses MetalFX and ignores it.
occlusion_two_pass: boolTwo-pass Hi-Z occlusion request; gated on the bindless cull path.
Auto Trait Implementations§
impl Freeze for PostSettings
impl RefUnwindSafe for PostSettings
impl Send for PostSettings
impl Sync for PostSettings
impl Unpin for PostSettings
impl UnsafeUnpin for PostSettings
impl UnwindSafe for PostSettings
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