};
private:
+ enum ParameterMask
+ {
+ AMBIENT = 1,
+ DIFFUSE = 2,
+ SPECULAR = 4,
+ EMISSION = 8,
+ SHININESS = 16
+ };
+
Color ambient;
Color diffuse;
Color specular;
public:
Material();
+
+private:
+ void update_parameter(int) const;
+
+public:
void set_ambient(const Color &a);
void set_diffuse(const Color &d);
void set_specular(const Color &s);