Skip to main content

PostProcessResolve

Trait PostProcessResolve 

Source
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 core (not concinnity-asset) because every return type is a crate::gfx settings struct.

Required Methods§

Source

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.

Source

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.

Source

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.

Source

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.

Source

fn ssr_settings(&self) -> Option<SsrSettings>

Resolve the SSR tunables into clamped SsrSettings, or None when the ssr toggle is off.

Source

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.

Source

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.

Source

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".

Implementors§