#[derive(Debug, Clone, Copy, PartialEq)]
pub struct PbrMaterial {
    pub albedo: [f32; 3],
    pub roughness: f32,
    pub metallic: f32,
}

impl PbrMaterial {
    pub fn dark_surface() -> Self {
        Self {
            albedo: [0.07, 0.06, 0.06],
            roughness: 0.96,
            metallic: 0.0,
        }
    }

    pub fn crater_floor() -> Self {
        Self {
            albedo: [0.08, 0.07, 0.07],
            roughness: 0.90,
            metallic: 0.01,
        }
    }

    pub fn smooth_regolith() -> Self {
        Self {
            albedo: [0.065, 0.060, 0.058],
            roughness: 0.92,
            metallic: 0.0,
        }
    }
}
