Add gfx::lerp for poses
This commit is contained in:
parent
ef53e0e8d2
commit
7b929ec951
1 changed files with 8 additions and 0 deletions
|
|
@ -87,6 +87,14 @@ namespace psemek::gfx
|
||||||
template <typename T>
|
template <typename T>
|
||||||
using pose = std::vector<bone_transform<T>>;
|
using pose = std::vector<bone_transform<T>>;
|
||||||
|
|
||||||
|
template <typename T, typename Pose1, typename Pose2>
|
||||||
|
void lerp(Pose1 const & pose1, Pose2 const & pose2, T t, pose<T> & output)
|
||||||
|
{
|
||||||
|
output.resize(pose1.size());
|
||||||
|
for (std::size_t i = 0; i < output.size(); ++i)
|
||||||
|
output[i] = lerp(pose1[i], pose2[i], t);
|
||||||
|
}
|
||||||
|
|
||||||
template <typename T, typename Pose, typename Bones>
|
template <typename T, typename Pose, typename Bones>
|
||||||
void compile(Pose const & local_pose, Bones const & bones, bone_transform<T> const & transform, pose<T> & result)
|
void compile(Pose const & local_pose, Bones const & bones, bone_transform<T> const & transform, pose<T> & result)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue