mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
improve rotate vec3 with affine matrix
because v and dest may be same vector
This commit is contained in:
@@ -428,9 +428,11 @@ glm_vec_rotate(vec3 v, float angle, vec3 axis) {
|
|||||||
CGLM_INLINE
|
CGLM_INLINE
|
||||||
void
|
void
|
||||||
glm_vec_rotate_m4(mat4 m, vec3 v, vec3 dest) {
|
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];
|
vec3 res;
|
||||||
dest[1] = m[0][1] * v[0] + m[1][1] * v[1] + m[2][1] * v[2];
|
res[0] = m[0][0] * v[0] + m[1][0] * v[1] + m[2][0] * v[2];
|
||||||
dest[2] = m[0][2] * v[0] + m[1][2] * v[1] + m[2][2] * 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 */
|
#endif /* cglm_vec_h */
|
||||||
|
|||||||
Reference in New Issue
Block a user