]> git.tdb.fi Git - libs/gl.git/blobdiff - source/material.h
Better state tracking for bound objects
[libs/gl.git] / source / material.h
index 3a65f339344787512f59597c1483a3596ec4376c..a787a6d3b7078ee60f706debaf2d62b903c4989f 100644 (file)
@@ -28,6 +28,15 @@ public:
        };
 
 private:
+       enum ParameterMask
+       {
+               AMBIENT = 1,
+               DIFFUSE = 2,
+               SPECULAR = 4,
+               EMISSION = 8,
+               SHININESS = 16
+       };
+
        Color ambient;
        Color diffuse;
        Color specular;
@@ -36,6 +45,11 @@ private:
 
 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);