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()
|
Material::Material()
|
||||||
: diffuse_level(1.0),
|
: diffuse_level(0.8),
|
||||||
diffuse_color(Color::Black)
|
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
|
void
|
||||||
Material::_clamp_parameter(float ¶m)
|
Material::_clamp_parameter(float ¶m)
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,12 +25,21 @@ public:
|
||||||
const Color &get_diffuse_color() const;
|
const Color &get_diffuse_color() const;
|
||||||
void set_diffuse_color(const Color &c);
|
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:
|
private:
|
||||||
void _clamp_parameter(float ¶m);
|
void _clamp_parameter(float ¶m);
|
||||||
|
|
||||||
// Diffusion parameters.
|
// Diffuse parameters.
|
||||||
float diffuse_level;
|
float diffuse_level;
|
||||||
Color diffuse_color;
|
Color diffuse_color;
|
||||||
|
|
||||||
|
// Specular parameters.
|
||||||
|
float specular_level;
|
||||||
|
Color specular_color;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue