From 7b929ec95139c52a4bfafd5d7750c399d464df01 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Wed, 21 Jul 2021 22:06:18 +0300 Subject: [PATCH] Add gfx::lerp for poses --- libs/gfx/include/psemek/gfx/armature.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libs/gfx/include/psemek/gfx/armature.hpp b/libs/gfx/include/psemek/gfx/armature.hpp index 1461713d..1261da40 100644 --- a/libs/gfx/include/psemek/gfx/armature.hpp +++ b/libs/gfx/include/psemek/gfx/armature.hpp @@ -87,6 +87,14 @@ namespace psemek::gfx template using pose = std::vector>; + template + void lerp(Pose1 const & pose1, Pose2 const & pose2, T t, pose & output) + { + output.resize(pose1.size()); + for (std::size_t i = 0; i < output.size(); ++i) + output[i] = lerp(pose1[i], pose2[i], t); + } + template void compile(Pose const & local_pose, Bones const & bones, bone_transform const & transform, pose & result) {