]> git.tdb.fi Git - libs/gl.git/blobdiff - source/light.h
Additional overloads for creating pipelines
[libs/gl.git] / source / light.h
index 396e276da94f519bfd59c2c1c4c80b8c37ae1efc..31dc3c0db709285c7f918820752b9c668d2ddcbf 100644 (file)
@@ -2,6 +2,7 @@
 #define MSP_GL_LIGHT_H_
 
 #include <vector>
+#include <msp/datafile/objectloader.h>
 #include "color.h"
 #include "placeable.h"
 
@@ -26,6 +27,22 @@ Lights do not cast shadows by themselves.  See ShadowMap for that.
 */
 class Light: public Placeable
 {
+public:
+       class Loader: public DataFile::ObjectLoader<Light>
+       {
+       public:
+               Loader(Light &);
+
+       private:
+               void attenuation(float, float, float);
+               void diffuse(float, float, float);
+               void position(float, float, float, float);
+               void specular(float, float, float);
+               void spot_direction(float, float, float);
+               void spot_exponent(float);
+               void spot_cutoff(float);
+       };
+
 private:
        enum ParameterMask
        {