pub struct FrameParams<'a> {
pub elapsed: f32,
pub fov_y_radians: f32,
pub near: f32,
pub far: f32,
pub cam_pos: [f32; 3],
pub text_calls: &'a [TextDrawCall],
pub lines: &'a [LineVertex],
pub world_hidden: bool,
pub view_mode: ViewMode,
pub show: ShowFlags,
pub sky_rot: [[f32; 4]; 3],
}Expand description
Per-frame inputs for RenderBackend::draw_frame. world_hidden is set when
an opaque menu backdrop covers the scene: the backend skips every world pass
and presents only the overlay (text_calls) over a cleared target.
Fields§
§elapsed: f32Seconds since the world started, for time-driven effects.
fov_y_radians: f32Vertical field of view in radians.
near: f32Near clip distance in world units.
far: f32Far clip distance in world units.
cam_pos: [f32; 3]World-space camera position.
text_calls: &'a [TextDrawCall]Overlay draw calls for this frame.
lines: &'a [LineVertex]Expanded line ribbons (lines::build_vertices) for this frame’s camera,
drawn depth-tested into the scene after the world passes. Empty on any
frame that submits no lines, which also drops the pass from the graph.
true when an opaque menu backdrop covers the scene.
view_mode: ViewModeViewport view mode + show flags for the frame (ViewOverrides when the
editor publishes one, defaults otherwise). Backends run their seeded
graph inputs through render_graph::apply_view and steer the composite
by the mode.
show: ShowFlagsFeature passes to run this frame.
sky_rot: [[f32; 4]; 3]Rows of the rotation taking a world-space direction into the environment
cubemaps’ baked frame (SkyOrientation::sample_rows). The backend holds
it for the frame and uploads it into every uniform block whose pass
samples the sky, so the sky, the IBL and the reflections turn together.
Identity in a world with no SkyRotation.
Trait Implementations§
Source§impl<'a> Clone for FrameParams<'a>
impl<'a> Clone for FrameParams<'a>
Source§fn clone(&self) -> FrameParams<'a>
fn clone(&self) -> FrameParams<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl<'a> Copy for FrameParams<'a>
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
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,
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