49 lines
1.2 KiB
C++
49 lines
1.2 KiB
C++
|
|
#ifndef MATERIAL_H
|
|
#define MATERIAL_H MATERIAL_H
|
|
|
|
#include "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
|
|
|