2024-07-14 15:33:00 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
struct Table<T> {
|
|
|
|
s32 size;
|
|
|
|
T data;
|
2024-07-21 16:40:26 +00:00
|
|
|
};
|
|
|
|
|
2024-08-17 17:28:38 +00:00
|
|
|
struct Vec2<T> {
|
|
|
|
T x;
|
|
|
|
T y;
|
|
|
|
};
|
|
|
|
|
2024-07-21 16:40:26 +00:00
|
|
|
struct Vec3<T> {
|
|
|
|
T x;
|
|
|
|
T y;
|
|
|
|
T z;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct Vec4<T> {
|
|
|
|
T x;
|
|
|
|
T y;
|
|
|
|
T z;
|
|
|
|
T w;
|
2024-08-17 09:52:09 +00:00
|
|
|
};
|
|
|
|
|
2024-08-17 17:28:38 +00:00
|
|
|
struct Mat3<T> {
|
|
|
|
Vec3<T> v[3];
|
|
|
|
};
|
|
|
|
|
|
|
|
struct Transform {
|
|
|
|
Mat3<float> mat;
|
|
|
|
Vec3<float> vec;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct Sphere {
|
|
|
|
Vec3<float> center;
|
|
|
|
float radius;
|
|
|
|
};
|
|
|
|
|
2024-08-17 09:52:09 +00:00
|
|
|
struct Plane {
|
|
|
|
float x;
|
|
|
|
float y;
|
|
|
|
float z;
|
|
|
|
float d;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct DPlane {
|
|
|
|
double x;
|
|
|
|
double y;
|
|
|
|
double z;
|
|
|
|
double d;
|
2024-07-14 15:33:00 +00:00
|
|
|
};
|