2017-01-18 08:51:09 +00:00
|
|
|
#include "math/math.h"
|
|
|
|
|
2017-01-26 10:20:30 +00:00
|
|
|
#pragma once
|
|
|
|
|
2017-01-20 02:04:45 +00:00
|
|
|
#define mat4_init mat4_set
|
|
|
|
mat4 mat4_set(mat4 m, mat4 n);
|
2017-01-18 08:51:09 +00:00
|
|
|
mat4 mat4_fromMat34(mat4 m, float (*n)[4]);
|
|
|
|
mat4 mat4_fromMat44(mat4 m, float (*n)[4]);
|
|
|
|
mat4 mat4_identity(mat4 m);
|
|
|
|
mat4 mat4_invert(mat4 m);
|
2017-06-14 03:04:51 +00:00
|
|
|
mat4 mat4_transpose(mat4 m);
|
2017-01-18 08:51:09 +00:00
|
|
|
mat4 mat4_multiply(mat4 m, mat4 n);
|
|
|
|
mat4 mat4_translate(mat4 m, float x, float y, float z);
|
2017-01-20 02:04:45 +00:00
|
|
|
mat4 mat4_rotate(mat4 m, float angle, float x, float y, float z);
|
|
|
|
mat4 mat4_rotateQuat(mat4 m, quat q);
|
2017-01-19 09:56:10 +00:00
|
|
|
mat4 mat4_scale(mat4 m, float x, float y, float z);
|
2018-02-11 21:03:52 +00:00
|
|
|
void mat4_getTransform(mat4 m, float* x, float* y, float* z, float* sx, float* sy, float* sz, float* angle, float* ax, float* ay, float* az);
|
2017-06-22 02:42:34 +00:00
|
|
|
mat4 mat4_setTransform(mat4 m, float x, float y, float z, float sx, float sy, float sz, float angle, float ax, float ay, float az);
|
2017-01-18 08:51:09 +00:00
|
|
|
mat4 mat4_orthographic(mat4 m, float left, float right, float top, float bottom, float near, float far);
|
|
|
|
mat4 mat4_perspective(mat4 m, float near, float far, float fov, float aspect);
|
2017-07-24 05:37:52 +00:00
|
|
|
mat4 mat4_lookAt(mat4 m, vec3 from, vec3 to, vec3 up);
|
2018-05-03 02:02:04 +00:00
|
|
|
void mat4_transform(mat4 m, float* x, float* y, float* z);
|