pub struct DynSpriteTransform {
pub pos: [f32; 3],
pub right: [f32; 3],
pub up: [f32; 3],
pub forward: [f32; 3],
}Expand description
Orientation + position for a dynamic sprite instance — the per-frame
pose passed to SceneRenderer::add_sprite_instance_posed and
set_sprite_instance_transform.
right/up/forward are the instance’s local axes expressed in
world space (the columns of the model→world rotation), mapping
directly onto the underlying Sprite’s s/h/f (kv6 local
+x/+y/+z). They must be non-singular (det ≠ 0) but need not be
orthonormal — a uniform/non-uniform scale or shear is fine. A
near-singular basis falls through the renderer’s degenerate-basis
guards and the instance silently skips that frame rather than
panicking. Default is the identity basis (axis-aligned).
Fields§
§pos: [f32; 3]Instance world position (the kv6 pivot maps here).
right: [f32; 3]Local +x in world space ↦ Sprite::s.
up: [f32; 3]Local +y in world space ↦ Sprite::h.
forward: [f32; 3]Local +z in world space ↦ Sprite::f.
Trait Implementations§
Source§impl Clone for DynSpriteTransform
impl Clone for DynSpriteTransform
Source§fn clone(&self) -> DynSpriteTransform
fn clone(&self) -> DynSpriteTransform
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for DynSpriteTransform
Source§impl Debug for DynSpriteTransform
impl Debug for DynSpriteTransform
Auto Trait Implementations§
impl Freeze for DynSpriteTransform
impl RefUnwindSafe for DynSpriteTransform
impl Send for DynSpriteTransform
impl Sync for DynSpriteTransform
impl Unpin for DynSpriteTransform
impl UnsafeUnpin for DynSpriteTransform
impl UnwindSafe for DynSpriteTransform
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,
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