diff options
Diffstat (limited to 'engine/src/material.rs')
-rw-r--r-- | engine/src/material.rs | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/engine/src/material.rs b/engine/src/material.rs index c896084..880f689 100644 --- a/engine/src/material.rs +++ b/engine/src/material.rs @@ -7,9 +7,9 @@ use crate::texture::{Id as TextureId, Texture}; #[derive(Debug, Clone, Component)] pub struct Material { - ambient: Option<Color<f32>>, - diffuse: Option<Color<f32>>, - specular: Option<Color<f32>>, + ambient: Color<f32>, + diffuse: Color<f32>, + specular: Color<f32>, ambient_map: TextureId, diffuse_map: TextureId, specular_map: TextureId, @@ -20,21 +20,21 @@ pub struct Material impl Material { #[must_use] - pub fn ambient(&self) -> Option<&Color<f32>> + pub fn ambient(&self) -> &Color<f32> { - self.ambient.as_ref() + &self.ambient } #[must_use] - pub fn diffuse(&self) -> Option<&Color<f32>> + pub fn diffuse(&self) -> &Color<f32> { - self.diffuse.as_ref() + &self.diffuse } #[must_use] - pub fn specular(&self) -> Option<&Color<f32>> + pub fn specular(&self) -> &Color<f32> { - self.specular.as_ref() + &self.specular } #[must_use] @@ -206,9 +206,9 @@ impl Builder }); Material { - ambient: self.ambient.clone(), - diffuse: self.diffuse.clone(), - specular: self.specular.clone(), + ambient: self.ambient.unwrap_or_default(), + diffuse: self.diffuse.unwrap_or_default(), + specular: self.specular.unwrap_or_default(), ambient_map, diffuse_map, specular_map, |