Castor3D 0.12.0
Multiplatform 3D engine
Public Member Functions | Static Public Member Functions | Friends | List of all members
castor3d::SpotLight Class Reference

#include <SpotLight.hpp>

Inheritance diagram for castor3d::SpotLight:
Inheritance graph
[legend]
Collaboration diagram for castor3d::SpotLight:
Collaboration graph
[legend]

Public Member Functions

C3D_API void update () override
 Updates the light. More...
 
C3D_API void updateShadow (Camera &lightCamera, int32_t index)
 Updates the shadow informations. More...
 
Mutators.
C3D_API void setAttenuation (castor::Point3f const &value)
 
C3D_API void setExponent (float value)
 
C3D_API void setCutOff (castor::Angle const &value)
 
Getters.
castor::Point3f const & getDirection () const
 
castor::Matrix4x4f const & getViewMatrix () const
 
castor::Matrix4x4f const & getProjectionMatrix () const
 
castor::Matrix4x4f const & getLightSpaceTransform () const
 
castor::Point3f const & getAttenuation () const
 
float getExponent () const
 
castor::Angle const & getCutOff () const
 
- Public Member Functions inherited from castor3d::LightCategory
virtual C3D_API ~LightCategory ()=default
 Destructor. More...
 
virtual C3D_API void update ()=0
 Updates the light. More...
 
C3D_API void fillBuffer (LightBuffer::LightData &data) const
 Puts the light into the given texture. More...
 
C3D_API uint32_t getVolumetricSteps () const
 
C3D_API float getVolumetricScatteringFactor () const
 
C3D_API castor::Point2f const & getShadowRawOffsets () const
 
C3D_API castor::Point2f const & getShadowPcfOffsets () const
 
C3D_API castor::Point2f const & getShadowVariance () const
 
C3D_API ShadowConfig const & getShadowConfig () const
 
C3D_API RsmConfig const & getRsmConfig () const
 
C3D_API LpvConfig const & getLpvConfig () const
 
LightType getLightType () const
 
float getDiffuseIntensity () const
 
float getSpecularIntensity () const
 
castor::Point2f const & getIntensity () const
 
float getFarPlane () const
 
castor::Point3f const & getColour () const
 
Light const & getLight () const
 
castor::BoundingBox const & getBoundingBox () const
 
C3D_API void setVolumetricSteps (uint32_t value)
 
C3D_API void setVolumetricScatteringFactor (float value)
 
C3D_API void setRawMinOffset (float value)
 
C3D_API void setRawMaxSlopeOffset (float value)
 
C3D_API void setPcfMinOffset (float value)
 
C3D_API void setPcfMaxSlopeOffset (float value)
 
C3D_API void setVsmMaxVariance (float value)
 
C3D_API void setVsmVarianceBias (float value)
 
C3D_API void setColour (castor::Point3f const &value)
 
C3D_API void setIntensity (castor::Point2f const &value)
 
C3D_API void setDiffuseIntensity (float value)
 
C3D_API void setSpecularIntensity (float value)
 
LightgetLight ()
 
castor::Point3f & getColour ()
 
castor::Point2f & getIntensity ()
 

Static Public Member Functions

static C3D_API LightCategoryUPtr create (Light &light)
 Creation function, used by Factory. More...
 
static C3D_API castor::Point3fArray const & generateVertices ()
 

Friends

class Scene
 

Additional Inherited Members

- Protected Member Functions inherited from castor3d::LightCategory
C3D_API LightCategory (LightType lightType, Light &light)
 Constructor. More...
 
virtual C3D_API void updateNode (SceneNode const &node)=0
 Updates the light source's informations related to the scene node. More...
 
- Protected Attributes inherited from castor3d::LightCategory
castor::BoundingBox m_cubeBox
 
float m_farPlane { 1.0f }
 
int32_t m_shadowMapIndex { -1 }
 

Member Function Documentation

◆ create()

static C3D_API LightCategoryUPtr castor3d::SpotLight::create ( Light light)
static

Creation function, used by Factory.

Parameters
[in]lightThe parent Light.
Returns
A light source.

◆ generateVertices()

static C3D_API castor::Point3fArray const & castor3d::SpotLight::generateVertices ( )
static
Returns
The vertices needed to draw the mesh materialising the ligh's volume of effect.

◆ getAttenuation()

castor::Point3f const & castor3d::SpotLight::getAttenuation ( ) const
inline

◆ getCutOff()

castor::Angle const & castor3d::SpotLight::getCutOff ( ) const
inline

◆ getDirection()

castor::Point3f const & castor3d::SpotLight::getDirection ( ) const
inline

◆ getExponent()

float castor3d::SpotLight::getExponent ( ) const
inline

◆ getLightSpaceTransform()

castor::Matrix4x4f const & castor3d::SpotLight::getLightSpaceTransform ( ) const
inline

◆ getProjectionMatrix()

castor::Matrix4x4f const & castor3d::SpotLight::getProjectionMatrix ( ) const
inline

◆ getViewMatrix()

castor::Matrix4x4f const & castor3d::SpotLight::getViewMatrix ( ) const
inline

◆ setAttenuation()

C3D_API void castor3d::SpotLight::setAttenuation ( castor::Point3f const &  value)

◆ setCutOff()

C3D_API void castor3d::SpotLight::setCutOff ( castor::Angle const &  value)

◆ setExponent()

C3D_API void castor3d::SpotLight::setExponent ( float  value)

◆ update()

C3D_API void castor3d::SpotLight::update ( )
overridevirtual

Updates the light.

Implements castor3d::LightCategory.

◆ updateShadow()

C3D_API void castor3d::SpotLight::updateShadow ( Camera lightCamera,
int32_t  index 
)

Updates the shadow informations.

Parameters
[in,out]lightCameraThe camera that receives the light spot data.
[in]indexThe shadow map index.

Friends And Related Function Documentation

◆ Scene

friend class Scene
friend

The documentation for this class was generated from the following file: