pub trait Material:
Debug
+ Send
+ Sync {
// Required methods
fn colour(&self) -> Colour;
fn bounce(
&self,
rng: &mut Box<dyn RngCore>,
incident_direction: Vec3,
surface_normal: Vec3,
) -> Option<Vec3>;
}