8 #ifndef META_OCEAN_RENDERING_GLES_LIGHT_SOURCE_H
9 #define META_OCEAN_RENDERING_GLES_LIGHT_SOURCE_H
28 namespace GLESceneGraph
32 class GLESLightSource;
44 typedef std::vector<LightPair>
Lights;
This class implements a color defined by red, green, blue and alpha parameters.
Definition: RGBAColor.h:41
This class is the base class for all GLESceneGraph light sources.
Definition: GLESLightSource.h:53
GLESLightSource()
Creates a new GLESceneGraph light source.
void get(RGBAColor &ambient, RGBAColor &diffuse, RGBAColor &specular, Scalar &intensity) override
Gets all color values of the light at once.
bool setDiffuseColor(const RGBAColor &color) override
Sets the diffuse color of the light source.
RGBAColor diffuseColor() const override
Returns the diffuse color of this light source.
bool enabled_
Determines whether the light is enabled.
Definition: GLESLightSource.h:180
virtual void bindLight(GLESShaderProgram &shaderProgram, const HomogenousMatrix4 &camera_T_model, const HomogenousMatrix4 &camera_T_world, const SquareMatrix3 &normalMatrix, const unsigned int index)
Binds this light source to the shader.
bool setIntensity(const Scalar intensity) override
Sets the specular exponent of this material.
bool enabled() const override
Returns whether this light source is enabled.
TransformationType transformationType() const override
Returns the transformation type of this light.
void setEnabled(const bool state) override
Sets whether the light source is enabled.
RGBAColor ambientColor_
Ambient light color.
Definition: GLESLightSource.h:165
bool set(const RGBAColor &ambient, const RGBAColor &diffuse, const RGBAColor &specular, const Scalar intensity) override
Sets all color values of the light source at once.
Scalar intensity() const override
Returns the intensity of this light source.
~GLESLightSource() override
Destructs a GLESceneGraph light source.
bool setAmbientColor(const RGBAColor &color) override
Sets the ambient color of the light source.
RGBAColor specularColor() const override
Returns the specular color of this light source.
RGBAColor ambientColor() const override
Returns the ambient color of this light source.
void setTransformationType(const TransformationType transformationType) override
Sets the transformation type of this light.
RGBAColor diffuseColor_
Diffuse light color.
Definition: GLESLightSource.h:168
Scalar intensity_
Light intensity.
Definition: GLESLightSource.h:174
bool setSpecularColor(const RGBAColor &color) override
Sets the specular color of the light source.
RGBAColor specularColor_
Specular light color.
Definition: GLESLightSource.h:171
This class is the base class for all GLESceneGraph objects.
Definition: GLESObject.h:57
This class implements a container for an OpenGL ES shader program.
Definition: GLESShaderProgram.h:53
This is the base class for all lights.
Definition: LightSource.h:38
TransformationType
Defines different transformation types.
Definition: LightSource.h:45
float Scalar
Definition of a scalar type.
Definition: Math.h:128
std::vector< LightPair > Lights
Definition of a set holding light sources.
Definition: GLESLightSource.h:44
std::pair< SmartObjectRef< GLESLightSource >, HomogenousMatrix4 > LightPair
Definition of a pair combinding light sources with transformation matrices.
Definition: GLESLightSource.h:32
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15