pub struct RenderSnapshot {
pub frame: FrameScalars,
pub ui: UiIntents,
pub ops: RenderOps,
pub models: Vec<(u32, [[f32; 4]; 4])>,
pub skinned_models: Vec<(u32, [[f32; 4]; 4])>,
pub poses: SpanBuffer<[[f32; 4]; 4]>,
pub morphs: SpanBuffer<f32>,
pub text_calls: Vec<TextDrawCall>,
pub lines: Vec<LineVertex>,
pub scene_ops: Vec<SceneOp>,
}Expand description
Everything one frame’s draw consumes, extracted from world state.
Fields§
§frame: FrameScalarsCamera and frame-wide scalars.
ui: UiIntentsWindow-interaction intents.
ops: RenderOpsBackend effects recorded by the simulation systems this tick (spawn slot ops, settings appliers, streaming uploads), replayed in record order before the frame’s draw.
models: Vec<(u32, [[f32; 4]; 4])>Changed static draw-slot model matrices, in push order (a slot pushed twice keeps both entries; the last write wins on the backend).
skinned_models: Vec<(u32, [[f32; 4]; 4])>Changed skinned-instance model matrices, in push order.
poses: SpanBuffer<[[f32; 4]; 4]>Updated skinned joint matrices, keyed by skinned instance index.
morphs: SpanBuffer<f32>Updated morph-target weights, keyed by skinned instance index.
text_calls: Vec<TextDrawCall>The frame’s overlay draw list (UI text + sprites), adopted whole from
the overlay build. clear leaves it untouched: extraction replaces the
list wholesale and hands the spent one back to the overlay build, so
its buffers recycle instead of dropping here.
lines: Vec<LineVertex>Expanded world-space line ribbons for this frame’s camera.
scene_ops: Vec<SceneOp>Scene fade / visibility effects recorded this frame.
Implementations§
Trait Implementations§
Source§impl Default for RenderSnapshot
impl Default for RenderSnapshot
Source§fn default() -> RenderSnapshot
fn default() -> RenderSnapshot
Auto Trait Implementations§
impl !RefUnwindSafe for RenderSnapshot
impl !Sync for RenderSnapshot
impl !UnwindSafe for RenderSnapshot
impl Freeze for RenderSnapshot
impl Send for RenderSnapshot
impl Unpin for RenderSnapshot
impl UnsafeUnpin for RenderSnapshot
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
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().