Files
CDAG/Research/core/CameraPath.cpp

16 lines
665 B
C++

#include "CameraPath.h"
#include "MathHelper.h"
#include "../inc/glm/glm.hpp"
CameraState CameraStateInterpolator::operator()(const CameraState& before, const CameraState& after, const double& time)
{
float t = (float)time;
CameraState res;
res.position = MathHelper::lerp(t, before.position, after.position);
res.direction = MathHelper::slerp(t, before.direction, after.direction);
res.target = MathHelper::lerp(t, before.target, after.target);
res.FOV = MathHelper::lerp(t, before.FOV, after.FOV);
res.nearPlane = MathHelper::lerp(t, before.nearPlane, after.nearPlane);
res.farPlane = MathHelper::lerp(t, before.farPlane, after.farPlane);
return res;
};