diff --git a/src/lib.rs b/src/lib.rs index 4cb527d..c98757a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,11 +1,20 @@ use nalgebra::{RealField, Vector3}; -#[derive(Clone,Debug)] +#[derive(Clone, Debug)] struct Ray { origin: Vector3, direction: Vector3, } +impl Ray { + fn new(origin: Vector3, direction: Vector3) -> Ray { + Ray { + origin, + direction: direction.normalize(), + } + } +} + impl Ray { fn point_at(&self, t: T) -> Vector3 { return self.origin + self.direction * t;