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:
23 struct JointPose
24 {
28 glm::vec3 translation = glm::vec3( 0.0f );
29
33 glm::quat rotation = glm::quat( 1.0f, 0.0f, 0.0f, 0.0f );
34
38 glm::vec3 scale = glm::vec3( 1.0f );
39 };
40
48 static void
49 evaluate( const Assets::Animation & animation, float time, std::vector<JointPose> & outPoses );
50 };
51} // 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.
Animation channel data and evaluation helpers.
Local-space transform sampled for one joint.