Add specular parameters to Material

This commit is contained in:
Eryn Wells 2013-09-21 15:53:16 -07:00
parent 90530b74ef
commit 745aa27447
2 changed files with 45 additions and 3 deletions

View file

@ -9,8 +9,10 @@
Material::Material()
: diffuse_level(1.0),
diffuse_color(Color::Black)
: diffuse_level(0.8),
diffuse_color(Color::White),
specular_level(0.5),
specular_color(Color::White)
{ }
@ -45,6 +47,37 @@ Material::set_diffuse_color(const Color &c)
}
float
Material::get_specular_level()
const
{
return specular_level;
}
void
Material::set_specular_level(const float &ks)
{
specular_level = ks;
_clamp_parameter(specular_level);
}
const Color &
Material::get_specular_color()
const
{
return specular_color;
}
void
Material::set_specular_color(const Color &c)
{
specular_color = c;
}
void
Material::_clamp_parameter(float &param)
{

View file

@ -25,12 +25,21 @@ public:
const Color &get_diffuse_color() const;
void set_diffuse_color(const Color &c);
float get_specular_level() const;
void set_specular_level(const float &kd);
const Color &get_specular_color() const;
void set_specular_color(const Color &c);
private:
void _clamp_parameter(float &param);
// Diffusion parameters.
// Diffuse parameters.
float diffuse_level;
Color diffuse_color;
// Specular parameters.
float specular_level;
Color specular_color;
};
#endif