diff --git a/src/vec.c b/src/vec.c index a5a555c..1134c37 100644 --- a/src/vec.c +++ b/src/vec.c @@ -32,9 +32,13 @@ void vec_div(Vec *vector, float scale) void vec_lerp(Vec *from, Vec to, float scale) { - Vec temp = {}; + /* from * (1 - scale) + temp * scale */ + Vec temp; vec_cpy(&temp, to); - vec_sub(&temp, *from); + /* from * (1 - scale) */ + vec_mul(from, 1 - scale); + /* temp * scale */ vec_mul(&temp, scale); + /* add */ vec_add(from, temp); }