X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flighting.h;h=063bbf2b4eb5a5f81bb75a6931ba5833d603b377;hb=67538c60b8baa6816b8ae2d343ae62d881e6c58d;hp=794fb75a045497eae7c803b2f86aab9c3d42ce58;hpb=f14435e58bfa0fa697a06ba9a454bb30cd37d9d8;p=libs%2Fgl.git diff --git a/source/lighting.h b/source/lighting.h index 794fb75a..063bbf2b 100644 --- a/source/lighting.h +++ b/source/lighting.h @@ -2,9 +2,11 @@ #define MSP_GL_LIGHTING_H_ #include +#include #include "bindable.h" #include "color.h" #include "gl.h" +#include "programdata.h" namespace Msp { namespace GL { @@ -18,6 +20,9 @@ class Lighting: public Bindable { private: Color ambient; + Color sky_color; + Vector3 sky_direction; + Geometry::Angle horizon_angle; std::vector lights; public: @@ -26,8 +31,14 @@ public: void set_ambient(const Color &); const Color &get_ambient() const { return ambient; } + void set_sky_color(const Color &); + void set_sky_direction(const Vector3 &); + void set_horizon_angle(const Geometry::Angle &); + void attach(unsigned, const Light &); void detach(unsigned); + + void update_shader_data(ProgramData &, const Matrix &) const; void bind() const; static void unbind();