Ocean
|
This class is the base class for all point lights. More...
Public Member Functions | |
virtual Vector3 | position () const |
Returns the position of the light object. More... | |
virtual Vector3 | attenuation () const |
Returns the attenuation factors of the point light. More... | |
virtual void | setPosition (const Vector3 &position) |
Sets the position of the light object. More... | |
virtual bool | setAttenuation (const Vector3 &factors) |
Sets the attenuation factors for the point light. More... | |
ObjectType | type () const override |
Returns the type of this object. More... | |
Public Member Functions inherited from Ocean::Rendering::LightSource | |
virtual RGBAColor | ambientColor () const |
Returns the ambient color of this light source. More... | |
virtual RGBAColor | diffuseColor () const |
Returns the diffuse color of this light source. More... | |
virtual RGBAColor | specularColor () const |
Returns the specular color of this light source. More... | |
virtual Scalar | intensity () const |
Returns the intensity of this light source. More... | |
virtual TransformationType | transformationType () const |
Returns the transformation type of this light. More... | |
virtual bool | enabled () const |
Returns whether this light source is enabled. More... | |
virtual void | get (RGBAColor &ambient, RGBAColor &diffuse, RGBAColor &specular, Scalar &intensity) |
Gets all color values of the light at once. More... | |
virtual bool | setAmbientColor (const RGBAColor &color) |
Sets the ambient color of the light source. More... | |
virtual bool | setDiffuseColor (const RGBAColor &color) |
Sets the diffuse color of the light source. More... | |
virtual bool | setSpecularColor (const RGBAColor &color) |
Sets the specular color of the light source. More... | |
virtual bool | setIntensity (const Scalar intensity) |
Sets the specular exponent of this material. More... | |
virtual bool | set (const RGBAColor &ambient, const RGBAColor &diffuse, const RGBAColor &specular, const Scalar intensity) |
Sets all color values of the light source at once. More... | |
virtual void | setTransformationType (const TransformationType transformationType) |
Sets the transformation type of this light. More... | |
virtual void | setEnabled (const bool state) |
Sets whether the light source is enabled. More... | |
Public Member Functions inherited from Ocean::Rendering::Object | |
ObjectId | id () const |
Returns the unique object id of this object. More... | |
const std::string & | name () const |
Returns the name of this object. More... | |
virtual void | setName (const std::string &name) |
Sets or changes the name of this object. More... | |
virtual const std::string & | engineName () const =0 |
Returns the name of the owner engine. More... | |
ObjectRefs | parentObjects () const |
Returns all parent objects. More... | |
ObjectRefSet | parentNodes () const |
Returns all parent nodes. More... | |
virtual std::string | descriptiveInformation () const |
Returns descriptive information about the object as string. More... | |
Protected Member Functions | |
PointLight () | |
Creates a new point light. More... | |
~PointLight () override | |
Destructs a point light. More... | |
Protected Member Functions inherited from Ocean::Rendering::LightSource | |
LightSource () | |
Creates a new light source object. More... | |
~LightSource () override | |
Destructs a light source object. More... | |
Protected Member Functions inherited from Ocean::Rendering::Object | |
Object () | |
Creates a new object. More... | |
Object (const Object &object)=delete | |
Disabled copy constructor. More... | |
virtual | ~Object () |
Destructs an object. More... | |
Engine & | engine () const |
Returns the render engine which is owner of this object. More... | |
void | registerParent (const ObjectId parentId) |
Registers a parent node for this (child) node. More... | |
void | unregisterParent (const ObjectId parentId) |
Unregisters a parent node for this (child) node. More... | |
void | registerThisObjectAsParent (const ObjectRef &child) |
Registers this object at a child as parent object. More... | |
void | unregisterThisObjectAsParent (const ObjectRef &child) |
Unregisters this object from a child as parent. More... | |
Object & | operator= (const Object &object)=delete |
Disabled copy operator. More... | |
This class is the base class for all point lights.
In addition to the values of each light source a point light is defined by a position and three attenuation factors.
The position defined the 3D position of the point light in relation to the local coordinate system.
Default position is (0, 0, 0).
The attenuation factors define the light attenuation depending on the distance between light source and object.
A three element vector with a constant, a linear and a quadratic attenuation factor can be defined.
The entire attenuation factor is defined by: 1 / constant + linear * r + quadratic * r^2, with distance r.
Default attenuation factors are (1, 0, 0) meaning a disabled light attenuation.
|
protected |
Creates a new point light.
|
overrideprotected |
Destructs a point light.
|
virtual |
Returns the attenuation factors of the point light.
NotSupportedException | Is thrown if this function is not supported |
Reimplemented in Ocean::Rendering::GlobalIllumination::GIPointLight, and Ocean::Rendering::GLESceneGraph::GLESPointLight.
|
virtual |
Returns the position of the light object.
NotSupportedException | Is thrown if this function is not supported |
Reimplemented in Ocean::Rendering::GlobalIllumination::GIPointLight, and Ocean::Rendering::GLESceneGraph::GLESPointLight.
|
virtual |
Sets the attenuation factors for the point light.
factors | Three element attenuation factor vector with order (constant, linear, quadratic) |
NotSupportedException | Is thrown if this function is not supported |
Reimplemented in Ocean::Rendering::GlobalIllumination::GIPointLight, and Ocean::Rendering::GLESceneGraph::GLESPointLight.
|
virtual |
Sets the position of the light object.
position | Light position to set |
NotSupportedException | Is thrown if this function is not supported |
Reimplemented in Ocean::Rendering::GlobalIllumination::GIPointLight, and Ocean::Rendering::GLESceneGraph::GLESPointLight.
|
overridevirtual |
Returns the type of this object.
Reimplemented from Ocean::Rendering::LightSource.
Reimplemented in Ocean::Rendering::SpotLight.