summaryrefslogtreecommitdiff
path: root/test/raytracer/vector.h
diff options
context:
space:
mode:
Diffstat (limited to 'test/raytracer/vector.h')
-rw-r--r--test/raytracer/vector.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/raytracer/vector.h b/test/raytracer/vector.h
new file mode 100644
index 0000000..c5e400a
--- /dev/null
+++ b/test/raytracer/vector.h
@@ -0,0 +1,23 @@
+struct vector {
+ flt dx, dy, dz;
+};
+
+flt dotproduct(struct vector * a, struct vector * b);
+void between(struct point * p, struct point * q,
+ /*out*/ struct vector * v);
+void opposite(struct vector * v,
+ /*out*/ struct vector * w);
+void point_along(struct point * p, struct vector * v,
+ flt ac,
+ /*out*/ struct point * q);
+void product(struct vector * a, struct vector * b,
+ /*out*/ struct vector * v);
+flt vlength2(struct vector * a);
+flt vlength(struct vector * a);
+
+void vscale(struct vector * a, flt s,
+ /*out*/ struct vector * v);
+void vnormalize(struct vector * a, /*out*/ struct vector * v);
+void vsub(struct vector * a, struct vector * b,
+ /*out*/ struct vector * v);
+