← Back to file list Raw

src/CAnimation.h

#pragma once
#include "CResource.h"
#include "CSpline.h"
#include <string>
#include <unordered_map>
#include "glm/glm.hpp"
class CAnimation : public CResource
{
public:
class CBoneCapture
{
public:
std::string Name;
glm::mat4 Matrix;
};
class CFrame
{
public:
std::vector<std::string> Events;
std::vector<CBoneCapture> Bones;
};
struct CLerped
{
public:
CSpline<float, glm::vec3> PositionSpline;
CSpline<float, glm::quat> RotationSpline;
CSpline<float, glm::vec3> ScaleSpline;
};
double FPS = 30.0;
std::vector<CFrame> Frames;
std::unordered_map<std::string, CLerped> Splines;
void V_SetupLoadPipeline(CLoadPipeline& pipeline) override;
DEFINE_RESOURCE();
};