pub trait Light { // Required methods fn ambient(&self) -> &Vec3; fn diffuse(&self) -> &Vec3; fn specular(&self) -> &Vec3; }