From d784027a8a22afa43c34fd8c23cd2aa7bd62808b Mon Sep 17 00:00:00 2001 From: Recep Aslantas Date: Tue, 31 Jan 2017 14:55:21 +0300 Subject: [PATCH] vec: project vec3 a onto vec3 b and store --- include/cglm-vec.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/include/cglm-vec.h b/include/cglm-vec.h index 0702bac..a63bd4b 100644 --- a/include/cglm-vec.h +++ b/include/cglm-vec.h @@ -473,4 +473,19 @@ glm_vec_rotate_m4(mat4 m, vec3 v, vec3 dest) { glm_vec_dup(res, dest); } +/*! + * @brief project a vector onto b vector + * + * @param[in] a + * @param[in] b + * @param[out] dest projected vector + */ +CGLM_INLINE +void +glm_vec_proj(vec3 a, vec3 b, vec3 dest) { + glm_vec_scale(b, + glm_vec_dot(a, b) / glm_vec_norm2(b), + dest); +} + #endif /* cglm_vec_h */