ray-tracer

default description
git clone _git@git.tontus.eu/ray-tracer.git
Log | Files | Refs

vec3.h (701B)


      1 #ifndef VEC3_H
      2 #define VEC3_H
      3 
      4 #include <stdio.h>
      5 
      6 typedef struct {
      7 	double x, y, z;
      8 } vec3;
      9 
     10 typedef vec3 point3;
     11 
     12 double vec3_getx(vec3);
     13 double vec3_gety(vec3);
     14 double vec3_getz(vec3);
     15 void vec3_set(vec3 *, double, double, double);
     16 
     17 vec3 vec3_neg(vec3);
     18 vec3 vec3_acc_add(vec3, vec3);
     19 vec3 vec3_acc_mul(vec3, double);
     20 vec3 vec3_acc_div(vec3, double);
     21 
     22 double vec3_length(vec3);
     23 double vec3_length_squared(vec3);
     24 
     25 /* utilities */
     26 void vec3_print(FILE *, vec3);
     27 vec3 vec3_add(vec3, vec3);
     28 vec3 vec3_sub(vec3, vec3);
     29 vec3 vec3_mul_vec(vec3, vec3);
     30 vec3 vec3_mul(double, vec3);
     31 vec3 vec3_div(vec3, double);
     32 double vec3_dot(vec3, vec3);
     33 vec3 vec3_cross(vec3, vec3);
     34 vec3 vec3_unit_vector(vec3);
     35 
     36 #endif