diff --git a/include/cglm-vec.h b/include/cglm-vec.h index 92ab5fb..4d5490d 100644 --- a/include/cglm-vec.h +++ b/include/cglm-vec.h @@ -428,9 +428,11 @@ glm_vec_rotate(vec3 v, float angle, vec3 axis) { CGLM_INLINE void glm_vec_rotate_m4(mat4 m, vec3 v, vec3 dest) { - dest[0] = m[0][0] * v[0] + m[1][0] * v[1] + m[2][0] * v[2]; - dest[1] = m[0][1] * v[0] + m[1][1] * v[1] + m[2][1] * v[2]; - dest[2] = m[0][2] * v[0] + m[1][2] * v[1] + m[2][2] * v[2]; + vec3 res; + res[0] = m[0][0] * v[0] + m[1][0] * v[1] + m[2][0] * v[2]; + res[1] = m[0][1] * v[0] + m[1][1] * v[1] + m[2][1] * v[2]; + res[2] = m[0][2] * v[0] + m[1][2] * v[1] + m[2][2] * v[2]; + glm_vec_dup(res, dest); } #endif /* cglm_vec_h */