diff options
| author | aura <nw@moneybot.cc> | 2026-03-05 01:23:13 +0100 |
|---|---|---|
| committer | aura <nw@moneybot.cc> | 2026-03-05 01:23:13 +0100 |
| commit | 7a37b56baed0cce79c228e9e1969917aa8db24dc (patch) | |
| tree | fab9407b2c6250f981a39e6e24faadf3c82e08b2 /src/util | |
| parent | 73045b6642348c8d2fd8b45cae305bbf0344d444 (diff) | |
giga improvement
Diffstat (limited to 'src/util')
| -rw-r--r-- | src/util/vector.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/util/vector.h b/src/util/vector.h index a01689c..854b454 100644 --- a/src/util/vector.h +++ b/src/util/vector.h @@ -158,6 +158,14 @@ inline F32 vec_dist2d( VEC3 v1, VEC3 v2 ) { return sqrtf( vec_dist2dsq( v1, v2 ) inline F32 vec_dot( VEC3 v1, VEC3 v2 ) { return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z; } inline VEC3 vec_cross( VEC3 v1, VEC3 v2 ) { return { v1.y * v2.z - v1.z * v2.y, v1.z * v2.x - v1.x * v2.z, v1.x * v2.y - v1.y * v2.x }; } +inline VEC2 vec_mins( VEC2 v1, VEC2 v2 ) { return { fminf( v1.x, v2.x ), fminf( v1.y, v2.y ) }; } +inline VEC3 vec_mins( VEC3 v1, VEC3 v2 ) { return { fminf( v1.x, v2.x ), fminf( v1.y, v2.y ), fminf( v1.z, v2.z ) }; } +inline VEC4 vec_mins( VEC4 v1, VEC4 v2 ) { return { fminf( v1.x, v2.x ), fminf( v1.y, v2.y ), fminf( v1.z, v2.z ), fminf( v1.w, v2.w ) }; } + +inline VEC2 vec_maxs( VEC2 v1, VEC2 v2 ) { return { fmaxf( v1.x, v2.x ), fmaxf( v1.y, v2.y ) }; } +inline VEC3 vec_maxs( VEC3 v1, VEC3 v2 ) { return { fmaxf( v1.x, v2.x ), fmaxf( v1.y, v2.y ), fmaxf( v1.z, v2.z ) }; } +inline VEC4 vec_maxs( VEC4 v1, VEC4 v2 ) { return { fmaxf( v1.x, v2.x ), fmaxf( v1.y, v2.y ), fmaxf( v1.z, v2.z ), fmaxf( v1.w, v2.w ) }; } + inline void vec_normalize( VEC2* v ) { F32 l = vec_len( *v ); v->x /= l; v->y /= l; } inline void vec_normalize( VEC3* v ) { F32 l = vec_len( *v ); v->x /= l; v->y /= l; v->z /= l; } |
