X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Flighting.h;h=94ccdd5e968170bdca6b4c0dd4230a4643d893fa;hp=5469cef5a8df3755d5c2fbb7dd13a734855d62ca;hb=HEAD;hpb=c51030d1cb2308d30db80303a561de1774dfdb76 diff --git a/source/lighting.h b/source/lighting.h deleted file mode 100644 index 5469cef5..00000000 --- a/source/lighting.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef MSP_GL_LIGHTING_H_ -#define MSP_GL_LIGHTING_H_ - -#include -#include -#include "bindable.h" -#include "color.h" -#include "gl.h" -#include "programdata.h" - -namespace Msp { -namespace GL { - -class Light; - -/** -Encapsulates global lighting parameters and any number of individual light -sources. -*/ -class Lighting: public Bindable -{ -private: - Color ambient; - Color sky_color; - Vector3 sky_direction; - Geometry::Angle horizon_angle; - std::vector lights; - -public: - Lighting(); - - /** Sets the ambient lighting color. Affects all surfaces in the scene. */ - void set_ambient(const Color &); - - const Color &get_ambient() const { return ambient; } - - /** Sets the color of the sky at zenith. Has no effect without shaders. */ - void set_sky_color(const Color &); - - /** Sets the direction of the sky. Defaults to positive Z axis. Has no - effect without shaders. */ - void set_sky_direction(const Vector3 &); - - /** Sets the angle where skylight cuts off, counted from the true horizon. - Has no effect without shaders. */ - void set_horizon_angle(const Geometry::Angle &); - - /** Attaches a light source. If the attachment index is greater than - LightUnit::get_n_units, the Lighting can't be bound for legacy mode. */ - void attach(unsigned, const Light &); - - /** Detaches a light source. */ - void detach(unsigned); - - /** Updates a ProgramData object with the uniforms for the Lighting, - including all attached light sources. A view matrix must be passed in. */ - void update_shader_data(ProgramData &, const Matrix &) const; - - void bind() const; - - static void unbind(); -}; - -} // namespace GL -} // namespace Msp - -#endif