diff --git a/src/math/vec3.c b/src/math/vec3.c index 00f3ea50..3bef4d8e 100644 --- a/src/math/vec3.c +++ b/src/math/vec3.c @@ -46,3 +46,10 @@ vec3 vec3_cross(vec3 v, vec3 u) { v[0] * u[1] - v[1] * u[0] ); } + +vec3 vec3_lerp(vec3 v, vec3 u, float t) { + v[0] = v[0] + (u[0] - v[0]) * t; + v[1] = v[1] + (u[1] - v[1]) * t; + v[2] = v[2] + (u[2] - v[2]) * t; + return v; +} diff --git a/src/math/vec3.h b/src/math/vec3.h index 227de5c0..df204365 100644 --- a/src/math/vec3.h +++ b/src/math/vec3.h @@ -10,3 +10,4 @@ vec3 vec3_normalize(vec3 v); float vec3_length(vec3 v); float vec3_dot(vec3 v, vec3 u); vec3 vec3_cross(vec3 v, vec3 u); +vec3 vec3_lerp(vec3 v, vec3 u, float t);