aboutsummaryrefslogtreecommitdiff
#ifndef VECTOR4F_H
#define VECTOR4F_H

#include <GL/glew.h>

typedef struct
{
    GLfloat x, y, z, w;
} vec4_t;

extern vec4_t vec4_create(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern vec4_t vec4_add(const vec4_t* a, const vec4_t* b);
extern vec4_t vec4_sub(const vec4_t* a, const vec4_t* b);
extern vec4_t vec4_scalar_mul(const vec4_t* a, GLfloat scalar);
extern GLfloat vec4_dot_mul(const vec4_t* a, const vec4_t* b);
extern vec4_t vec4_cross_mul(const vec4_t* a, const vec4_t* b);
extern GLfloat vec4_length(vec4_t* a);
extern vec4_t vec4_normalize(vec4_t* a);

#endif // VECTOR4F_H