aboutsummaryrefslogtreecommitdiff
path: root/src/core/hittable.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hittable.rs')
-rw-r--r--src/core/hittable.rs25
1 files changed, 0 insertions, 25 deletions
diff --git a/src/core/hittable.rs b/src/core/hittable.rs
deleted file mode 100644
index e495d5b..0000000
--- a/src/core/hittable.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-use crate::core::{Vector3f, Ray};
-use crate::Float;
-
-/// Returns the context of a intersection
-pub struct Intersection {
- /// Normal vector at intersection
- pub n: Vector3f,
- pub p: Vector3f,
- pub t: Float,
-}
-
-impl Intersection {
- pub fn norm_against_ray(&self, r: &Ray) -> Vector3f {
- if self.n.dot(&r.direction) < 0.0 {
- self.n
- } else {
- -self.n
- }
- }
-}
-
-/// Defines a common trait for objects in the scene
-pub trait Hittable {
- fn intersect(&self, ray: &Ray) -> Option<Intersection>;
-}