mirror of
https://github.com/recp/cglm.git
synced 2025-10-04 17:09:40 +00:00
update mat4_mulv3 api to include translation
This commit is contained in:
@@ -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);
|
||||||
|
@@ -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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@@ -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) {
|
||||||
|
Reference in New Issue
Block a user