quat: mat4_mul_quat helper

* the quaternion is used as right matrix
This commit is contained in:
Recep Aslantas
2018-04-07 13:47:20 +03:00
parent 619ecdc5a4
commit f5140ea005

View File

@@ -45,6 +45,7 @@
#define cglm_mat_h
#include "common.h"
#include "quat.h"
#ifdef CGLM_SSE_FP
# include "simd/sse2/mat4.h"
@@ -318,6 +319,21 @@ glm_mat4_mulv(mat4 m, vec4 v, vec4 dest) {
#endif
}
/*!
* @brief multiply mat4 with quaternion and store in dest vector
*
* @param[in] m left matrix
* @param[in] q quaternion as right matrix
* @param[out] dest destination matrix
*/
CGLM_INLINE
void
glm_mat4_mulq(mat4 m, versor q, mat4 dest) {
mat4 rot;
glm_quat_mat4(q, rot);
glm_mat4_mul(m, rot, dest);
}
/*!
* @brief multiply vector with mat4's mat3 part(rotation)
*