#[derive(Debug, Clone)]
pub struct PbrMaterial {
pub albedo: [f32; 4],
pub roughness: f32,
pub metallic: f32,
pub normal_strength: f32,
pub emissive: [f32; 3],
}
pub fn basaltic_plain() -> PbrMaterial {
PbrMaterial {
albedo: [0.45, 0.32, 0.18, 1.0],
roughness: 0.9,
metallic: 0.03,
normal_strength: 1.0,
emissive: [0.0; 3],
}
}
pub fn tessera_highland() -> PbrMaterial {
PbrMaterial {
albedo: [0.58, 0.46, 0.28, 1.0],
roughness: 0.95,
metallic: 0.02,
normal_strength: 1.2,
emissive: [0.0; 3],
}
}
pub fn volcanic_flow() -> PbrMaterial {
PbrMaterial {
albedo: [0.18, 0.10, 0.06, 1.0],
roughness: 0.75,
metallic: 0.08,
normal_strength: 1.4,
emissive: [0.04, 0.01, 0.0],
}
}
pub fn weathered_plain() -> PbrMaterial {
PbrMaterial {
albedo: [0.52, 0.38, 0.22, 1.0],
roughness: 0.92,
metallic: 0.01,
normal_strength: 0.8,
emissive: [0.0; 3],
}
}