#ifndef MATERIAL_H #define MATERIAL_H MATERIAL_H #include "util/Color.h" class Material { public: /* static members */ static const Material white; Material(); void setAmbientColor(const Color & ambient) { m_ambient_color = ambient; } const Color & getAmbientColor() const { return m_ambient_color; } void setDiffuseColor(const Color & diffuse) { m_diffuse_color = diffuse; } const Color & getDiffuseColor() const { return m_diffuse_color; } void setSpecularColor(const Color & specular) { m_specular_color = specular; } const Color & getSpecularColor() const { return m_specular_color; } void setShininess(double shininess) { m_shininess = shininess; } double getShininess() const { return m_shininess; } void setReflectance(double reflectance) { m_reflectance = reflectance; } double getReflectance() const { return m_reflectance; } protected: Color m_ambient_color; Color m_diffuse_color; Color m_specular_color; double m_shininess; double m_reflectance; }; #endif