Emergency 20 Dokumentation  4.1.0
Static Public Member Functions | List of all members
qsf::InterpolationPolicy< glm::vec3 > Struct Template Reference

#include <InterpolationPolicyGlmVec3.h>

Static Public Member Functions

static void interpolate (const glm::vec3 &from, const glm::vec3 &to, float t, glm::vec3 &out)
 
static void interpolate (const glm::vec3 &from, const glm::vec3 &to, const glm::vec3 &t, glm::vec3 &out)
 
static void bezierInterpolation (const glm::vec3 &from, const glm::vec3 &cp0, const glm::vec3 &cp1, const glm::vec3 &to, const glm::vec3 &s, glm::vec3 &out)
 

Member Function Documentation

static void qsf::InterpolationPolicy< glm::vec3 >::bezierInterpolation ( const glm::vec3 &  from,
const glm::vec3 &  cp0,
const glm::vec3 &  cp1,
const glm::vec3 &  to,
const glm::vec3 &  s,
glm::vec3 &  out 
)
inlinestatic
Note
Each element in the vectors is treated as an independent curve, that's also the reason why the time parameter is a vector, too. The reason for this decision is that this is the only way to properly resolve a Bezier curve as long as the time t does not line up with the interpolation vector s
Todo:
  • TODO(oi) Rooms for improvement here (like SIMD?)
static void qsf::InterpolationPolicy< glm::vec3 >::interpolate ( const glm::vec3 &  from,
const glm::vec3 &  to,
float  t,
glm::vec3 &  out 
)
inlinestatic
static void qsf::InterpolationPolicy< glm::vec3 >::interpolate ( const glm::vec3 &  from,
const glm::vec3 &  to,
const glm::vec3 &  t,
glm::vec3 &  out 
)
inlinestatic

The documentation for this struct was generated from the following file: