update mat4_mulv3 api to include translation

This commit is contained in:
Recep Aslantas
2018-05-27 11:46:27 +03:00
parent 73c073cf32
commit e5d61b3433
3 changed files with 18 additions and 8 deletions

View File

@@ -53,6 +53,10 @@ CGLM_EXPORT
void void
glmc_mat4_mulv(mat4 m, vec4 v, vec4 dest); glmc_mat4_mulv(mat4 m, vec4 v, vec4 dest);
CGLM_EXPORT
void
glmc_mat4_mulv3(mat4 m, vec3 v, float last, vec3 dest);
CGLM_EXPORT CGLM_EXPORT
void void
glmc_mat4_quat(mat4 m, versor dest); glmc_mat4_quat(mat4 m, versor dest);

View File

@@ -370,20 +370,20 @@ glm_mat4_quat(mat4 m, versor dest) {
} }
/*! /*!
* @brief multiply vector with mat4's mat3 part(rotation) * @brief multiply vector with mat4
* *
* @param[in] m mat4(affine transform) * @param[in] m mat4(affine transform)
* @param[in] v vec3 * @param[in] v vec3
* @param[out] dest vec3 * @param[in] last 4th item to make it vec4
* @param[out] dest result vector (vec3)
*/ */
CGLM_INLINE CGLM_INLINE
void void
glm_mat4_mulv3(mat4 m, vec3 v, vec3 dest) { glm_mat4_mulv3(mat4 m, vec3 v, float last, vec3 dest) {
vec3 res; vec4 res;
res[0] = m[0][0] * v[0] + m[1][0] * v[1] + m[2][0] * v[2]; glm_vec4(v, last, res);
res[1] = m[0][1] * v[0] + m[1][1] * v[1] + m[2][1] * v[2]; glm_mat4_mulv(m, res, res);
res[2] = m[0][2] * v[0] + m[1][2] * v[1] + m[2][2] * v[2]; glm_vec3(res, dest);
glm_vec_copy(res, dest);
} }
/*! /*!

View File

@@ -62,6 +62,12 @@ glmc_mat4_mulv(mat4 m, vec4 v, vec4 dest) {
glm_mat4_mulv(m, v, dest); glm_mat4_mulv(m, v, dest);
} }
CGLM_EXPORT
void
glmc_mat4_mulv3(mat4 m, vec3 v, float last, vec3 dest) {
glm_mat4_mulv3(m, v, last, dest);
}
CGLM_EXPORT CGLM_EXPORT
void void
glmc_mat4_quat(mat4 m, versor dest) { glmc_mat4_quat(mat4 m, versor dest) {