aboutsummaryrefslogtreecommitdiff
path: root/07-july/src/math/vector3f.h
blob: ab255d1a66a9dfbdfe061d2cb96f806109ecb9a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef VECTOR3F_H
#define VECTOR3F_H

#include <GL/glew.h>

typedef struct
{
    GLfloat x, y, z;
} vec3_t;

extern vec3_t vec3_create(GLfloat x, GLfloat y, GLfloat z);
extern vec3_t vec3_add(const vec3_t* a, const vec3_t* b);
extern vec3_t vec3_sub(const vec3_t* a, const vec3_t* b);
extern vec3_t vec3_scalar_mul(const vec3_t* a, GLfloat scalar);
extern GLfloat vec3_dot_mul(const vec3_t* a, const vec3_t* b);
extern vec3_t vec3_cross_mul(const vec3_t* a, const vec3_t* b);
extern GLfloat vec3_length(vec3_t* a);
extern vec3_t vec3_normalize(vec3_t* a);

#endif // VECTOR3F_H