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