pub struct FrameParams<'a> {
pub settings: &'a OpticastSettings,
pub sky_color: u32,
pub sky: Option<&'a Sky>,
pub fog_color: u32,
pub fog_max_scan_dist: i32,
pub treat_z_max_as_air: bool,
pub gpu_mip_scan_dist: f32,
pub gpu_max_outer_steps: u32,
pub gpu_fov_y_rad: f32,
pub sprite_lighting: Option<&'a SpriteLighting<'a>>,
}Expand description
Per-frame inputs both backends consume. The host builds the
OpticastSettings (it owns scan distance etc.); the facade does
everything else (pool config, sky fill, render, present).
Fields§
§settings: &'a OpticastSettingsCPU opticast settings (scan distance, mip ladder, framebuffer geometry). Ignored by the GPU backend.
sky_color: u32Packed engine sky colour: the CPU sky-miss fill + skycast, and the clear colour if no scene renders.
sky: Option<&'a Sky>Optional sky panorama for the CPU rasterizer’s sky sampling.
fog_color: u32CPU fog: packed colour + max scan distance (voxels). 0 scan
distance disables CPU fog.
fog_max_scan_dist: i32§treat_z_max_as_air: boolCPU: treat z=255 as air (avoids the S1.X bedrock path for out-of-bounds cameras).
gpu_mip_scan_dist: f32GPU scene-grid LOD scan distance (world units); see GPU.11.1. Ignored by the CPU backend.
gpu_max_outer_steps: u32GPU outer-DDA step budget (chunks). Ignored by the CPU backend.
gpu_fov_y_rad: f32GPU vertical field of view (radians). Ignored by the CPU
backend (it derives projection from OpticastSettings).
sprite_lighting: Option<&'a SpriteLighting<'a>>CPU sprite shading (built by the host from its engine). Required
for the CPU backend to draw sprites; ignored by the GPU backend
(its sprite pass shades from the uploaded model colours). None
skips CPU sprite drawing.
Auto Trait Implementations§
impl<'a> Freeze for FrameParams<'a>
impl<'a> RefUnwindSafe for FrameParams<'a>
impl<'a> Send for FrameParams<'a>
impl<'a> Sync for FrameParams<'a>
impl<'a> Unpin for FrameParams<'a>
impl<'a> UnsafeUnpin for FrameParams<'a>
impl<'a> UnwindSafe for FrameParams<'a>
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> 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
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