Add specular parameters to Material
This commit is contained in:
parent
90530b74ef
commit
745aa27447
2 changed files with 45 additions and 3 deletions
|
@ -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 ¶m)
|
||||
{
|
||||
|
|
|
@ -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 ¶m);
|
||||
|
||||
// Diffusion parameters.
|
||||
// Diffuse parameters.
|
||||
float diffuse_level;
|
||||
Color diffuse_color;
|
||||
|
||||
// Specular parameters.
|
||||
float specular_level;
|
||||
Color specular_color;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue