pub trait Material { fn scatter( &self, ray: Ray, rec: HitRecord<'_>, rng: &mut ThreadRng ) -> Option<(Color, Ray)>; }