diff options
Diffstat (limited to 'src/maths/maths.c')
-rw-r--r-- | src/maths/maths.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/maths/maths.c b/src/maths/maths.c index adeee3e..aedee76 100644 --- a/src/maths/maths.c +++ b/src/maths/maths.c @@ -24,4 +24,12 @@ c_static_inline Vec3 vec3_cross(Vec3 a, Vec3 b) { Mat4 mat4_ident() { return (Mat4){ .data = { 1.0, 0., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0., 0., 0., 0., 1.0 } }; +} + +Mat4 transform_to_mat(Transform *tf) { + Mat4 scale = mat4_scale(tf->scale); + Mat4 rotation = mat4_rotation(tf->rotation); + Mat4 translation = mat4_translation(tf->position); + return mat4_mult(translation, mat4_mult(rotation, scale)); + // return mat4_mult(mat4_mult(scale, rotation), translation); }
\ No newline at end of file |