X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Flighting.h;h=94ccdd5e968170bdca6b4c0dd4230a4643d893fa;hp=931d06d3daf8d2e72aede2af04452b0d0a2e740a;hb=HEAD;hpb=bbd21944fae06f134625b2f5595c3aab36c3aa9e diff --git a/source/lighting.h b/source/lighting.h deleted file mode 100644 index 931d06d3..00000000 --- a/source/lighting.h +++ /dev/null @@ -1,83 +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; - 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 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 &); - - /** 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