/* basics.h * * Declaration of basic types: Vector. * * Eryn Wells */ #ifndef __BASICS_H #define __BASICS_H #include typedef struct { float x, y, z; } Vector3; extern const Vector3 ZeroVector3; Vector3 vector_init(float x, float y, float z); Vector3 vector_mult_scalar(Vector3 v, float f); Vector3 vector_mult_vector(Vector3 v, Vector3 f); Vector3 vector_sub_vector(Vector3 m, Vector3 s); float vector_length2(Vector3 v); float vector_length(Vector3 v); float vector_dot(Vector3 v, Vector3 f); Vector3 vector_normalize(Vector3 v); typedef struct { float x, y; float w, h; } Rect; Rect rect_init(float x, float y, float h, float w); typedef struct { Vector3 location; Vector3 direction; } Ray; Ray ray_init(Vector3 location, Vector3 direction); typedef struct { uint8_t red, green, blue, alpha; } Color; extern const Color ColorBlack; #endif