use std::fmt::Debug; use crate::objects::hit::Hit; use crate::Ray; use crate::Vec3; pub trait Hittable: Debug { fn hit(&self, r: &Ray) -> Option; fn normal_at(&self, p: &Vec3) -> Vec3; // fn intersect(&self, o: &H) -> bool; fn inside(&self, p: &Vec3) -> bool; fn closest_on_surface(&self, p: &Vec3) -> Vec3; }