X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flighting.h;h=063bbf2b4eb5a5f81bb75a6931ba5833d603b377;hb=8ed7051d1a80c7e8b198d96575338eee6a5e2485;hp=7c7dc454c14f027e1fed3c17f62ec5b6b9b3c608;hpb=a6acc6fc98f8571eaaa66f726c1ff4d60abe4f58;p=libs%2Fgl.git diff --git a/source/lighting.h b/source/lighting.h index 7c7dc454..063bbf2b 100644 --- a/source/lighting.h +++ b/source/lighting.h @@ -2,6 +2,7 @@ #define MSP_GL_LIGHTING_H_ #include +#include #include "bindable.h" #include "color.h" #include "gl.h" @@ -19,8 +20,10 @@ class Lighting: public Bindable { private: Color ambient; + Color sky_color; + Vector3 sky_direction; + Geometry::Angle horizon_angle; std::vector lights; - ProgramData shdata; public: Lighting(); @@ -28,11 +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(const Matrix &); - const ProgramData &get_shader_data() const { return shdata; } + void update_shader_data(ProgramData &, const Matrix &) const; void bind() const; static void unbind();