1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
//! Mesh skinning.
use mint;
use object::{self, ObjectType};
/// Contains array of bones.
#[derive(Clone, Debug)]
pub struct Skeleton {
pub(crate) object: object::Base,
}
three_object!(Skeleton::object);
derive_DowncastObject!(Skeleton => ObjectType::Skeleton);
/// A single bone that forms one component of a [`Skeleton`].
///
/// [`Skeleton`]: struct.Skeleton.html
#[derive(Clone, Debug)]
pub struct Bone {
pub(crate) object: object::Base,
}
three_object!(Bone::object);
derive_DowncastObject!(Bone => ObjectType::Bone);
/// A matrix defining how bind mesh nodes to a bone.
pub type InverseBindMatrix = mint::ColumnMatrix4<f32>;