Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
AnimationEvaluator.h
Go to the documentation of this file.
1#pragma once
2
3#include "AnimationAsset.h"
4
5#include <glm/glm.hpp>
6#include <glm/gtc/quaternion.hpp>
7#include <vector>
8
9namespace Engine::Animation
10{
18 {
19 public:
20 struct JointPose
21 {
22 glm::vec3 translation = glm::vec3( 0.0f );
23 glm::quat rotation = glm::quat( 1.0f, 0.0f, 0.0f, 0.0f );
24 glm::vec3 scale = glm::vec3( 1.0f );
25 };
26
34 static void
35 evaluate( const Assets::Animation & animation, float time, std::vector<JointPose> & outPoses );
36 };
37} // namespace Engine::Animation
Evaluates animation keyframes at a given time.
static void evaluate(const Assets::Animation &animation, float time, std::vector< JointPose > &outPoses)
Evaluate all channels at given time, output one JointPose per joint.
Animation clip loaded from glTF animation data.