aboutsummaryrefslogtreecommitdiff
path: root/07-july/src/math/vector4f.h
blob: 4f836951caeecf0ac9e64f1cbadf5f6d3e91ea51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#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