aboutsummaryrefslogtreecommitdiff
path: root/src/core/ray.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ray.rs')
-rw-r--r--src/core/ray.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/ray.rs b/src/core/ray.rs
index f5517ce..c944184 100644
--- a/src/core/ray.rs
+++ b/src/core/ray.rs
@@ -8,6 +8,14 @@ pub struct Ray {
}
impl Ray {
+ pub fn new_to(origin: Vector3f, target: Vector3f) -> Ray {
+ let dir = (target - origin).norm();
+ Ray {
+ origin,
+ direction: dir
+ }
+ }
+
pub fn at(&self, t: Float) -> Vector3f {
self.origin + self.direction * t
}