X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Flighting.h;h=94ccdd5e968170bdca6b4c0dd4230a4643d893fa;hp=40360fc588508e9cc13cfd63f1b826f972017fea;hb=HEAD;hpb=0c1e15e36a46bada35b905b2bdd35f6f48ce7cb0 diff --git a/source/lighting.h b/source/lighting.h deleted file mode 100644 index 40360fc5..00000000 --- a/source/lighting.h +++ /dev/null @@ -1,86 +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 zenith_direction; - Geometry::Angle horizon_angle; - Color fog_color; - float fog_density; - 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 zenith. Defaults to positive Z axis. Has no - effect without shaders. */ - void set_zenith_direction(const Vector3 &); - - /// Deprecated alias for set_zenith_direction - void set_sky_direction(const Vector3 &d) { set_zenith_direction(d); } - - /** Sets the angle where skylight cuts off, counted from the true horizon. - Has no effect without shaders. */ - void set_horizon_angle(const Geometry::Angle &); - - /** Sets the fog color, which is blended into distant surfaces. */ - void set_fog_color(const Color &); - - /** Sets the density of the fog. Zero means no fog. */ - void set_fog_density(float); - - /** Sets the density of the fog so that the blending factor at the given - distance is 50%. */ - void set_fog_half_distance(float); - - /** 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); - - /** Returns an attached light. If no light is attached at that index, null - is returned. */ - const Light *get_attached_light(unsigned) const; - - /** 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