1 #ifndef MSP_GL_LIGHT_H_
2 #define MSP_GL_LIGHT_H_
22 static unsigned current_unit;
23 static std::vector<const Light *> current_lights;
28 void set_diffuse(const Color &c);
29 void set_specular(const Color &c);
30 const Color &get_diffuse() const { return diffuse; }
31 const Color &get_specular() const { return specular; }
33 void set_position(const Vector4 &);
34 const Vector4 &get_position() const { return position; }
35 void set_spot_direction(const Vector3 &);
36 void set_spot_exponent(float);
37 void set_spot_cutoff(float);
38 const Vector3 &get_spot_direction() const { return spot_dir; }
39 float get_spot_exponent() const { return spot_exp; }
40 float get_spot_cutoff() const { return spot_cutoff; }
41 void set_attenuation(float, float, float);
42 const float *get_attenuation() const { return attenuation; }
45 void bind_to(unsigned) const;
47 static void activate(unsigned);
49 static void unbind_from(unsigned);