19#include <glm/mat4x4.hpp>
22#include "scene/Component.h"
30class AnimationComponent;
39 const std::shared_ptr<Mesh> &
mesh,
40 const std::shared_ptr<Skeleton> &skeleton);
46 void SetSkeleton(
const std::shared_ptr<Skeleton> &skeleton);
52 std::shared_ptr<Material> m_material;
53 std::shared_ptr<Mesh> m_mesh;
54 std::shared_ptr<Skeleton> m_skeleton;
56 std::vector<glm::mat4> m_identityPalette;
std::shared_ptr< Material > material
std::shared_ptr< Mesh > mesh
Engine-wide primitive type aliases and GLM math imports.
Drives transform animation on a hierarchy of GameObjects.
void SetMaterial(const std::shared_ptr< Material > &material)
SkinnedMeshComponent()=default
void SetPaletteSource(AnimationComponent *anim)
Plug an AnimationComponent (typically on the model root) as the live palette source.
void SetMesh(const std::shared_ptr< Mesh > &mesh)
void Update(f32 deltaTime) override
void SetSkeleton(const std::shared_ptr< Skeleton > &skeleton)
#define COMPONENT(ComponentClass)
float f32
32-bit IEEE float — the standard GL scalar type.