pub struct VolumetricFogConfig {Show 14 fields
pub grid_size: (u32, u32, u32),
pub near: f32,
pub far: f32,
pub global_density: f32,
pub height_fog_density: f32,
pub height_falloff: f32,
pub height_base: f32,
pub albedo: Vec3,
pub anisotropy: f32,
pub ambient_light: Vec3,
pub noise: NoiseConfig,
pub temporal_blend: f32,
pub temporal_enabled: bool,
pub field_injection: FieldInjectionConfig,
}Expand description
Full volumetric fog configuration.
Fields§
§grid_size: (u32, u32, u32)Froxel grid resolution (width, height, depth_slices).
near: f32Near plane distance for depth slicing.
far: f32Far plane (max fog distance).
global_density: f32Global uniform fog density (participates everywhere).
height_fog_density: f32Height fog: density at reference height.
height_falloff: f32Height fog: exponential falloff rate (higher = thinner fog above).
height_base: f32Height fog: reference height (full density below this).
albedo: Vec3Scattering albedo (fraction of extinction that is scattering vs absorption). Higher = brighter fog. (0,0,0) = pure absorption, (1,1,1) = pure scattering.
anisotropy: f32Henyey-Greenstein anisotropy for Mie scattering. 0 = isotropic, positive = forward scattering (god rays), negative = back scattering.
ambient_light: Vec3Ambient light contribution inside fog (minimum in-scatter).
noise: NoiseConfig3D noise parameters for density variation.
temporal_blend: f32Temporal reprojection blend factor (0 = no reprojection, 0.95 = strong).
temporal_enabled: boolEnable temporal reprojection.
field_injection: FieldInjectionConfigForce field fog injection settings.
Trait Implementations§
Source§impl Clone for VolumetricFogConfig
impl Clone for VolumetricFogConfig
Source§impl Debug for VolumetricFogConfig
impl Debug for VolumetricFogConfig
Auto Trait Implementations§
impl Freeze for VolumetricFogConfig
impl RefUnwindSafe for VolumetricFogConfig
impl Send for VolumetricFogConfig
impl Sync for VolumetricFogConfig
impl Unpin for VolumetricFogConfig
impl UnsafeUnpin for VolumetricFogConfig
impl UnwindSafe for VolumetricFogConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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