mirror of
https://github.com/recp/cglm.git
synced 2025-10-04 01:00:46 +00:00
fix affine scale
This commit is contained in:
@@ -74,25 +74,23 @@ glm_translate_z(mat4 m, float to) {
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_scale_to(mat4 m, vec3 v, mat4 dest) {
|
||||
dest[0][0] = m[0][0] * v[0];
|
||||
dest[1][1] = m[1][1] * v[1];
|
||||
dest[2][2] = m[2][2] * v[2];
|
||||
glm_vec_scale(m[0], v[0], dest[0]);
|
||||
glm_vec_scale(m[1], v[1], dest[1]);
|
||||
glm_vec_scale(m[2], v[2], dest[2]);
|
||||
|
||||
glm_vec_dup(m[3], dest[3]);
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_scale(mat4 m, vec3 v) {
|
||||
m[0][0] *= v[0];
|
||||
m[1][1] *= v[1];
|
||||
m[2][2] *= v[2];
|
||||
glm_scale_to(m, v, m);
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_scale1(mat4 m, float s) {
|
||||
m[0][0] *= s;
|
||||
m[1][1] *= s;
|
||||
m[2][2] *= s;
|
||||
glm_scale_to(m, (vec3){s, s, s}, m);
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
|
@@ -10,6 +10,23 @@
|
||||
|
||||
#include "cglm.h"
|
||||
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_vec_dup(vec3 a, vec3 dest) {
|
||||
dest[0] = a[0];
|
||||
dest[1] = a[1];
|
||||
dest[2] = a[2];
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_vec_dup4(vec4 a, vec4 dest) {
|
||||
dest[0] = a[0];
|
||||
dest[1] = a[1];
|
||||
dest[2] = a[2];
|
||||
dest[3] = a[3];
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
float
|
||||
glm_vec_dot(vec3 a, vec3 b) {
|
||||
|
Reference in New Issue
Block a user