about summary refs log tree commit diff stats
path: root/apps/raytracing/ray.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/raytracing/ray.h')
-rw-r--r--apps/raytracing/ray.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/apps/raytracing/ray.h b/apps/raytracing/ray.h
new file mode 100644
index 00000000..ed65168a
--- /dev/null
+++ b/apps/raytracing/ray.h
@@ -0,0 +1,25 @@
+#ifndef RAY_H
+#define RAY_H
+
+#include "vec3.h"
+
+class ray {
+    public:
+        ray() {}
+        ray(const point3& origin, const vec3& direction)
+            : orig(origin), dir(direction)
+        {}
+
+        point3 origin() const  { return orig; }
+        vec3 direction() const { return dir; }
+
+        point3 at(float t) const {
+            return orig + t*dir;
+        }
+
+    public:
+        point3 orig;
+        vec3 dir;
+};
+
+#endif