pub struct SceneSettings {Show 21 fields
pub ambient: [f32; 3],
pub sky: [f32; 3],
pub gravity: Vec3,
pub toon_bands: u32,
pub saturation: f32,
pub contrast: f32,
pub exposure: f32,
pub psx: bool,
pub render_scale: f32,
pub atmosphere: SkySettings,
pub shadows: ShadowSettings,
pub post: PostSettings,
pub upscaler: Upscaler,
pub frame_generation: bool,
pub sharpness: f32,
pub view_distance: f32,
pub filmic: f32,
pub fog: f32,
pub environment_map: String,
pub environment_rotation: f32,
pub environment_intensity: f32,
}Expand description
Serializable scene environment. Missing JSON fields use these defaults.
Fields§
§ambient: [f32; 3]Ambient RGB illumination, normally in the 0..1 range.
sky: [f32; 3]Fallback background RGB colour when the atmosphere is disabled.
gravity: Vec3World-space gravity acceleration in metres per second squared.
toon_bands: u32Cel shading: 0 = off, otherwise the number of light bands (3 = anime look).
saturation: f32Colour saturation multiplier; 1 preserves the rendered colours.
contrast: f32Display contrast multiplier; 1 is neutral.
exposure: f32Exposure multiplier applied before display conversion; 1 is neutral.
psx: boolPlayStation-style look: wobbling vertex snapping, point-sampled textures, dithered 15-bit colour.
render_scale: f32Render resolution scale (0.25..1). Below 1 the picture is upscaled with point filtering.
atmosphere: SkySettingsProcedural sky and time of day.
shadows: ShadowSettingsSun shadow quality and look.
post: PostSettingsScreen-space effects (bloom, blur, motion blur, flares, grain…).
upscaler: UpscalerUpscaling method used when render_scale is below 1.
frame_generation: boolExperimental optical-flow midpoint presentation in Game view (not NVIDIA DLSS). Alternates a synthesized frame with its real frame, adding visual latency.
sharpness: f32Sharpening of the FSR-style upscaler, 0..1.
view_distance: f32Objects farther than this many metres are neither drawn nor kept in GPU memory (0 = unlimited).
filmic: f32Filmic (ACES-style) tone mapping strength: 0 = plain clamp, 1 = full highlight roll-off.
fog: f32Distance haze density (0 = off, 0.005 light, 0.02 thick). The colour follows the sky.
environment_map: StringEquirectangular .hdr/.png/.jpg asset used as background and mirror environment; empty uses sky.
environment_rotation: f32Environment rotation around +Y, in degrees.
environment_intensity: f32Environment radiance multiplier.
Trait Implementations§
Source§impl Clone for SceneSettings
impl Clone for SceneSettings
Source§fn clone(&self) -> SceneSettings
fn clone(&self) -> SceneSettings
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for SceneSettings
impl Default for SceneSettings
Source§impl<'de> Deserialize<'de> for SceneSettingswhere
SceneSettings: Default,
impl<'de> Deserialize<'de> for SceneSettingswhere
SceneSettings: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for SceneSettings
impl RefUnwindSafe for SceneSettings
impl Send for SceneSettings
impl Sync for SceneSettings
impl Unpin for SceneSettings
impl UnsafeUnpin for SceneSettings
impl UnwindSafe for SceneSettings
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§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>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§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.§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.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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 moreimpl<T> MaybeSync for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.