pub trait PostProcessResolve {
// Required methods
fn resolve(&self) -> PostProcessTunables;
fn ambient_intensity(&self) -> f32;
fn reflection_blur_divisor(&self) -> u32;
fn ssao_settings(&self) -> Option<SsaoSettings>;
fn ssr_settings(&self) -> Option<SsrSettings>;
fn rt_reflection_settings(&self) -> Option<RtReflectionSettings>;
fn ssgi_settings(&self) -> Option<SsgiSettings>;
fn auto_exposure_settings(&self) -> Option<AutoExposureSettings>;
}Expand description
Resolves a PostProcessConfig’s authored tunables into the clamped,
GPU-facing settings the renderer consumes. Kept in gfx (not the schema)
because every return type is a crate::gfx settings struct.
Required Methods§
Sourcefn resolve(&self) -> PostProcessTunables
fn resolve(&self) -> PostProcessTunables
Resolve the authored fields into the GPU-facing PostProcessTunables:
clamps each tunable and converts exposure_ev (stops) into the linear
multiplier the shaders expect. The composite’s display-output flags are
not authored, so they are absent here: the backend adds them to the full
PostProcessParams once it has negotiated EDR support with the display.
Sourcefn ambient_intensity(&self) -> f32
fn ambient_intensity(&self) -> f32
Clamp the authored ambient_intensity to a safe [0, 16] multiplier the
backend folds into LightUniforms to scale the indirect (ambient / IBL)
term.
Sourcefn reflection_blur_divisor(&self) -> u32
fn reflection_blur_divisor(&self) -> u32
Per-axis divisor for the roughness-aware reflection blur target, resolved
from reflection_blur_resolution. Always at least 1.
Sourcefn ssao_settings(&self) -> Option<SsaoSettings>
fn ssao_settings(&self) -> Option<SsaoSettings>
Resolve the SSAO tunables into clamped SsaoSettings, or None when the
ssao toggle is off so the backend can skip the SSAO passes entirely.
Sourcefn ssr_settings(&self) -> Option<SsrSettings>
fn ssr_settings(&self) -> Option<SsrSettings>
Resolve the SSR tunables into clamped SsrSettings, or None when the
ssr toggle is off.
Sourcefn rt_reflection_settings(&self) -> Option<RtReflectionSettings>
fn rt_reflection_settings(&self) -> Option<RtReflectionSettings>
Resolve the ray-traced-reflection tunables into clamped
RtReflectionSettings, or None when ray_traced_reflections is off.
Reuses the SSR intensity / distance fields; the backend additionally gates
on GPU ray-tracing support.
Sourcefn ssgi_settings(&self) -> Option<SsgiSettings>
fn ssgi_settings(&self) -> Option<SsgiSettings>
Resolve the SSGI tunables into clamped SsgiSettings, or None when
indirect_lighting is not Ssgi so the backend can skip the SSGI passes.
Sourcefn auto_exposure_settings(&self) -> Option<AutoExposureSettings>
fn auto_exposure_settings(&self) -> Option<AutoExposureSettings>
Resolve the auto-exposure tunables into clamped AutoExposureSettings, or
None when the toggle is off so the backend can skip the histogram passes.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".