1 | #pragma once |
2 | |
3 | typedef struct VEC2 |
4 | { |
5 | float x; |
6 | float y; |
7 | } Vec2; |
8 | |
9 | typedef struct VEC3 |
10 | { |
11 | float x; |
12 | float y; |
13 | float z; |
14 | } Vec3; |
15 | |
16 | typedef struct VEC4 |
17 | { |
18 | float x; |
19 | float y; |
20 | float z; |
21 | float w; |
22 | } Vec4; |
23 | |
24 | typedef struct MAT4 |
25 | { |
26 | Vec4 cols[4]; |
27 | } Mat4; |
28 | |
29 | Mat4 identity(void); |
30 | Mat4 ortho(double left, double right, double bottom, double top); |
31 | |
32 | Mat4 translate(Mat4 *mat, double x, double y); |
33 | Mat4 rotate(Mat4 *mat, double degrees); |
34 | Mat4 scale(Mat4 *mat, double x, double y); |
35 | |