Add vec4 types and functions
This commit is contained in:
@@ -25,6 +25,20 @@ typedef struct {
|
||||
f32 z;
|
||||
} vec3f_t;
|
||||
|
||||
typedef struct {
|
||||
i32 x;
|
||||
i32 y;
|
||||
i32 z;
|
||||
i32 w;
|
||||
} vec4i_t;
|
||||
|
||||
typedef struct {
|
||||
f32 x;
|
||||
f32 y;
|
||||
f32 z;
|
||||
f32 w;
|
||||
} vec4f_t;
|
||||
|
||||
#define vec_add(T, v1, v2) vec_add_##T(v1, v2)
|
||||
#define vec_sub(T, v1, v2) vec_sub_##T(v1, v2)
|
||||
#define vec_mul(T, v1, v2) vec_mul_##T(v1, v2)
|
||||
@@ -71,4 +85,22 @@ f32 vec_magnitude_vec3f_t(vec3f_t v);
|
||||
vec3f_t vec_unit_vec3f_t(vec3f_t v);
|
||||
vec3f_t vec_rotate_vec3f_t(vec3f_t original, vec3f_t rotation);
|
||||
|
||||
vec4i_t vec_add_vec4i_t(vec4i_t v1, vec4i_t v2);
|
||||
vec4i_t vec_sub_vec4i_t(vec4i_t v1, vec4i_t v2);
|
||||
vec4i_t vec_mul_vec4i_t(vec4i_t v1, vec4i_t v2);
|
||||
vec4i_t vec_mul_num_vec4i_t(vec4i_t v1, i32 num);
|
||||
vec4i_t vec_div_num_vec4i_t(vec4i_t v1, i32 num);
|
||||
i32 vec_dot_vec4i_t(vec4i_t v1, vec4i_t v2);
|
||||
i32 vec_magnitude_vec4i_t(vec4i_t v);
|
||||
vec4i_t vec_unit_vec4i_t(vec4i_t v);
|
||||
|
||||
vec4f_t vec_add_vec4f_t(vec4f_t v1, vec4f_t v2);
|
||||
vec4f_t vec_sub_vec4f_t(vec4f_t v1, vec4f_t v2);
|
||||
vec4f_t vec_mul_vec4f_t(vec4f_t v1, vec4f_t v2);
|
||||
vec4f_t vec_mul_num_vec4f_t(vec4f_t v1, f32 num);
|
||||
vec4f_t vec_div_num_vec4f_t(vec4f_t v1, f32 num);
|
||||
f32 vec_dot_vec4f_t(vec4f_t v1, vec4f_t v2);
|
||||
f32 vec_magnitude_vec4f_t(vec4f_t v);
|
||||
vec4f_t vec_unit_vec4f_t(vec4f_t v);
|
||||
|
||||
#endif // !VEC_H
|
||||
|
||||
Reference in New Issue
Block a user