pub struct AutoExposureSettings {
pub min_ev: f32,
pub max_ev: f32,
pub speed: f32,
pub target_log_lum: f32,
}Expand description
Clamped auto-exposure tunables resolved from the authored asset fields. Held
by the backend; the per-frame EMA in AutoExposureState::update reads them
to clamp the adapted EV and drive its adaptation rate.
Fields§
§min_ev: f32Lower bound on the adapted EV. Caps how bright a dim scene can ramp.
max_ev: f32Upper bound on the adapted EV. Caps how dark a bright scene can ramp.
speed: f32EMA rate (per second). The exponential 1 - exp(-speed * dt) step pulls
the current EV toward the target each frame; higher = faster adaptation.
target_log_lum: f32Log2 of the linear value AE aims the scene’s geometric-mean luminance
at. 0.0 = scene-white (legacy SDR + ACES default, ACES then squishes
scene-white back down to a comfortable display mid-tone).
HDR_MIDDLE_GREY_LOG2 ≈ -2.47 = perceptual middle-grey, the correct
target on the HDR path where there is no ACES compression. Resolved
from PostProcessConfig.hdr_display at asset time.
Implementations§
Source§impl AutoExposureSettings
impl AutoExposureSettings
Sourcepub fn resolve(
min_ev: f32,
max_ev: f32,
speed: f32,
hdr_aware: bool,
) -> AutoExposureSettings
pub fn resolve( min_ev: f32, max_ev: f32, speed: f32, hdr_aware: bool, ) -> AutoExposureSettings
Clamp the authored fields into a safe range. min_ev is forced to stay
at-or-below max_ev so the adapted EV’s clamp interval is non-empty.
hdr_aware shifts AE’s middle-grey pivot down so the average pixel
reads at perceptual middle-grey on the HDR output path; SDR worlds
keep the legacy scene-white pivot to preserve existing exposure
authoring.
Trait Implementations§
Source§impl Clone for AutoExposureSettings
impl Clone for AutoExposureSettings
Source§fn clone(&self) -> AutoExposureSettings
fn clone(&self) -> AutoExposureSettings
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more