feat: optimized triangle testing

This commit is contained in:
2025-12-23 11:13:20 +01:00
parent a43149ec90
commit 1d66ff9551
3 changed files with 52 additions and 41 deletions

View File

@@ -208,24 +208,24 @@ struct vec2 : public vec<2, vec2> {
};
struct vec3 : public vec<3, vec3> {
vec3() : vec<3, vec3>() {}
constexpr vec3() : vec<3, vec3>() {}
vec3(float x, float y, float z)
constexpr vec3(float x, float y, float z)
: vec<3, vec3>(decimal(x), decimal(y), decimal(z)) {}
vec3(double x, double y, double z)
constexpr vec3(double x, double y, double z)
: vec<3, vec3>(decimal(x), decimal(y), decimal(z)) {}
vec3(int32_t x, int32_t y, int32_t z)
constexpr vec3(int32_t x, int32_t y, int32_t z)
: vec<3, vec3>(decimal(x), decimal(y), decimal(z)) {}
vec3(decimal x, decimal y, decimal z) : vec<3, vec3>(x, y, z) {}
constexpr vec3(decimal x, decimal y, decimal z) : vec<3, vec3>(x, y, z) {}
decimal &x() { return v[0]; }
decimal &y() { return v[1]; }
decimal &z() { return v[2]; }
inline decimal &x() { return v[0]; }
inline decimal &y() { return v[1]; }
inline decimal &z() { return v[2]; }
vec3 cross(vec3 &v) {
inline vec3 cross(vec3 &v) {
return vec3((y() * v.z()) - (z() * v.y()),
(z() * v.x()) - (x() * v.z()),
(x() * v.y()) - (y() * v.x()));