X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Flight.h;h=31dc3c0db709285c7f918820752b9c668d2ddcbf;hp=396e276da94f519bfd59c2c1c4c80b8c37ae1efc;hb=42c1534d95e1551c37e64a1dae288e8b75e8d8ba;hpb=05d70b38a546f35a7687cae6ae3fcd6ab78898b2 diff --git a/source/light.h b/source/light.h index 396e276d..31dc3c0d 100644 --- a/source/light.h +++ b/source/light.h @@ -2,6 +2,7 @@ #define MSP_GL_LIGHT_H_ #include +#include #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 + { + 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 {