world_of_cow/vec.c

37 lines
No EOL
688 B
C

#include "vec.h"
#include <GL/gl.h>
vec3 vec3_new(float x, float y, float z) {
vec3 r = { x, y, z };
return r;
}
vec3 vec3_splat(float f) {
vec3 r = { f, f, f };
return r;
}
vec3 vec3_add(vec3 a, vec3 b) {
vec3 r = { a.x + b.x, a.y + b.y, a.z + b.z };
return r;
}
vec3 vec3_sub(vec3 a, vec3 b) {
vec3 r = { a.x - b.x, a.y - b.y, a.z - b.z };
return r;
}
float vec3_dot(vec3 a, vec3 b) {
return a.x * b.x + a.y * b.y + a.z * b.z;
}
vec3 vec3_mult(vec3 a, float s) {
vec3 r = { a.x * s, a.y * s, a.z * s };
return r;
}
void glVertexVec(vec3 v) {
glVertex3f(v.x, v.y, v.z);
}
void glColorVec(vec3 v) {
glColor3f(v.x, v.y, v.z);
}