25 [[nodiscard]] uint32_t
Count()
const {
return static_cast<uint32_t
>(
joints.size()); }
64 void Resize(uint32_t jointCount);
#define GLOBAL_ALLOC
Definition Allocator.hpp:240
FAnimInterp
Definition Animation.hpp:29
FAnimPath
Definition Animation.hpp:28
void SampleClip(FAnimationClip const &clip, float t, FPose &pose)
Definition Animation.cpp:102
void ResetToRest(FSkeleton const &skel, FPose &pose)
Definition Animation.cpp:91
void SkinVertices(Span< const FVertex > bind, Span< const FSkinBinding > binding, Span< const mat4 > palette, Span< FQVertex > out, FSerializedBounds *outBounds=nullptr)
Definition Animation.cpp:169
void ComputeSkinningMatrices(FSkeleton const &skel, FPose const &pose, Span< mat4 > outPalette)
Definition Animation.cpp:161
mat4 JointLocalMatrix(float3 const &t, quat const &r, float3 const &s)
Definition Animation.cpp:78
void BlendClip(FAnimationClip const &clip, float t, float weight, FPose &pose)
Definition Animation.cpp:118
void ComputeGlobals(FSkeleton const &skel, FPose &pose)
Definition Animation.cpp:148
Allocator interface (noexcept)
Definition Allocator.hpp:29
std::vector< T, StlAllocator< T > > Vector
std::vector with explicit Foundation::Core::StlAllocator constructor
Definition Container.hpp:149
std::span< T > Span
Alias for std::span
Definition Container.hpp:62
vec3 float3
Definition Math.hpp:26
Definition Allocator.hpp:6
Definition Animation.hpp:33
Vector< float > times
Definition Animation.hpp:37
FAnimPath path
Definition Animation.hpp:35
FAnimChannel(Allocator *alloc=GLOBAL_ALLOC)
Definition Animation.hpp:39
uint32_t joint
Definition Animation.hpp:34
FAnimInterp interp
Definition Animation.hpp:36
Vector< float > values
Definition Animation.hpp:38
Definition Animation.hpp:44
FUUID name
Definition Animation.hpp:46
FAnimationClip(Allocator *alloc=GLOBAL_ALLOC)
Definition Animation.hpp:50
FUUID skeleton
Definition Animation.hpp:49
float duration
Definition Animation.hpp:48
Vector< FAnimChannel > channels
Definition Animation.hpp:47
Definition Animation.hpp:12
int32_t parent
Definition Animation.hpp:13
float3 restTranslation
Definition Animation.hpp:14
float3 restScale
Definition Animation.hpp:16
quat restRotation
Definition Animation.hpp:15
mat4 inverseBind
Definition Animation.hpp:17
Definition Animation.hpp:55
Vector< mat4 > globals
Definition Animation.hpp:59
FPose(Allocator *alloc=GLOBAL_ALLOC)
Definition Animation.hpp:60
Vector< quat > rotations
Definition Animation.hpp:57
Vector< float3 > scales
Definition Animation.hpp:58
Vector< float3 > translations
Definition Animation.hpp:56
void Resize(uint32_t jointCount)
Definition Animation.cpp:83
Definition Metadata.hpp:14
Definition Animation.hpp:21
FSkeleton(Allocator *alloc=GLOBAL_ALLOC)
Definition Animation.hpp:24
Vector< FJoint > joints
Definition Animation.hpp:23
uint32_t Count() const
Definition Animation.hpp:25
128-bit identifier. Two flavors, both well-formed per RFC 9562:
Definition UUID.hpp:35