diff options
Diffstat (limited to 'include/rodeo/math/vec3.h')
| -rw-r--r-- | include/rodeo/math/vec3.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/include/rodeo/math/vec3.h b/include/rodeo/math/vec3.h new file mode 100644 index 0000000..1b9cd31 --- /dev/null +++ b/include/rodeo/math/vec3.h @@ -0,0 +1,53 @@ +#pragma once + +// -- internal -- +// public +#include "rodeo/math/vec3_t.h" + +rodeo_math_vec3_t +rodeo_math_vec3_zero(void); + +rodeo_math_vec3_t +rodeo_math_vec3_one(void); + +float +rodeo_math_vec3_dot(rodeo_math_vec3_t a, rodeo_math_vec3_t b); + +float +rodeo_math_vec3_cross(rodeo_math_vec3_t a, rodeo_math_vec3_t b); + +rodeo_math_vec3_t +rodeo_math_vec3_add(rodeo_math_vec3_t a, rodeo_math_vec3_t b); + +rodeo_math_vec3_t +rodeo_math_vec3_subtract(rodeo_math_vec3_t a, rodeo_math_vec3_t b); + +rodeo_math_vec3_t +rodeo_math_vec3_multiply(rodeo_math_vec3_t a, rodeo_math_vec3_t b); + +rodeo_math_vec3_t +rodeo_math_vec3_scale(rodeo_math_vec3_t a, float b); + +rodeo_math_vec3_t +rodeo_math_vec3_divide(rodeo_math_vec3_t a, rodeo_math_vec3_t b); + +rodeo_math_vec3_t +rodeo_math_vec3_negate(rodeo_math_vec3_t a); + +rodeo_math_vec3_t +rodeo_math_vec3_normalize(rodeo_math_vec3_t a); + +rodeo_math_vec3_t +rodeo_math_vec3_rotate(rodeo_math_vec3_t a, float turns, rodeo_math_vec3_t axis); + +float +rodeo_math_vec3_distance(rodeo_math_vec3_t a, rodeo_math_vec3_t b); + +float +rodeo_math_vec3_distanceSq(rodeo_math_vec3_t a, rodeo_math_vec3_t b); + +rodeo_math_vec3_t +rodeo_math_vec3_clamp(rodeo_math_vec3_t a, float minimum, float maximum); + +rodeo_math_vec3_t +rodeo_math_vec3_lerp(rodeo_math_vec3_t from, rodeo_math_vec3_t to, float t); |
