pub struct PoseScratch {
pub locals: Vec<[[f32; 4]; 4]>,
pub aux: Vec<[[f32; 4]; 4]>,
pub clip: Vec<[[f32; 4]; 4]>,
pub weights: Vec<f32>,
pub morph: Vec<f32>,
}Expand description
Reusable buffers for the per-frame pose sampling chain (sample, blend, IK, skinning). Each animated target owns one; the buffers reach steady-state capacity on the first sampled frame and are reused in place after that, so steady-state sampling performs no heap allocation.
Fields§
§locals: Vec<[[f32; 4]; 4]>Primary local-pose accumulator. Holds the finished blended pose.
aux: Vec<[[f32; 4]; 4]>Secondary local-pose buffer (a transition’s outgoing pose, or the world-matrix scratch an IK solve composes through).
clip: Vec<[[f32; 4]; 4]>Per-clip sample buffer fed into the weighted blend.
weights: Vec<f32>Per-member blend weights, or a clip’s sampled morph weights.
morph: Vec<f32>Morph-weight accumulator for a weighted multi-clip blend.
Trait Implementations§
Source§impl Debug for PoseScratch
impl Debug for PoseScratch
Source§impl Default for PoseScratch
impl Default for PoseScratch
Source§fn default() -> PoseScratch
fn default() -> PoseScratch
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for PoseScratch
impl RefUnwindSafe for PoseScratch
impl Send for PoseScratch
impl Sync for PoseScratch
impl Unpin for PoseScratch
impl UnsafeUnpin for PoseScratch
impl UnwindSafe for PoseScratch
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
Mutably borrows from an owned value. Read more
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> ⓘ
Converts
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> ⓘ
Converts
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>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().