diff options
Diffstat (limited to 'src/core/ray.rs')
-rw-r--r-- | src/core/ray.rs | 8 |
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 } |