Castor3D 0.12.0
Multiplatform 3D engine
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
castor3d::LightCategory Class Referenceabstract

#include <LightCategory.hpp>

Inheritance diagram for castor3d::LightCategory:
Inheritance graph
[legend]

Public Member Functions

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 ()
 

Protected Member Functions

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

castor::BoundingBox m_cubeBox
 
float m_farPlane { 1.0f }
 
int32_t m_shadowMapIndex { -1 }
 

Friends

class Light
 

Constructor & Destructor Documentation

◆ LightCategory()

C3D_API castor3d::LightCategory::LightCategory ( LightType  lightType,
Light light 
)
explicitprotected

Constructor.

Parameters
[in]lightTypeThe light category type.
[in]lightThe parent Light.

◆ ~LightCategory()

virtual C3D_API castor3d::LightCategory::~LightCategory ( )
virtualdefault

Destructor.

Member Function Documentation

◆ fillBuffer()

C3D_API void castor3d::LightCategory::fillBuffer ( LightBuffer::LightData data) const

Puts the light into the given texture.

Parameters
[out]dataReceives the light's data.

◆ getBoundingBox()

castor::BoundingBox const & castor3d::LightCategory::getBoundingBox ( ) const
inline

References m_cubeBox.

◆ getColour() [1/2]

castor::Point3f & castor3d::LightCategory::getColour ( )
inline

◆ getColour() [2/2]

castor::Point3f const & castor3d::LightCategory::getColour ( ) const
inline

◆ getDiffuseIntensity()

float castor3d::LightCategory::getDiffuseIntensity ( ) const
inline

◆ getFarPlane()

float castor3d::LightCategory::getFarPlane ( ) const
inline

References m_farPlane.

◆ getIntensity() [1/2]

castor::Point2f & castor3d::LightCategory::getIntensity ( )
inline

◆ getIntensity() [2/2]

castor::Point2f const & castor3d::LightCategory::getIntensity ( ) const
inline

◆ getLight() [1/2]

Light & castor3d::LightCategory::getLight ( )
inline

◆ getLight() [2/2]

Light const & castor3d::LightCategory::getLight ( ) const
inline

◆ getLightType()

LightType castor3d::LightCategory::getLightType ( ) const
inline

◆ getLpvConfig()

C3D_API LpvConfig const & castor3d::LightCategory::getLpvConfig ( ) const

◆ getRsmConfig()

C3D_API RsmConfig const & castor3d::LightCategory::getRsmConfig ( ) const

◆ getShadowConfig()

C3D_API ShadowConfig const & castor3d::LightCategory::getShadowConfig ( ) const

◆ getShadowPcfOffsets()

C3D_API castor::Point2f const & castor3d::LightCategory::getShadowPcfOffsets ( ) const

◆ getShadowRawOffsets()

C3D_API castor::Point2f const & castor3d::LightCategory::getShadowRawOffsets ( ) const

◆ getShadowVariance()

C3D_API castor::Point2f const & castor3d::LightCategory::getShadowVariance ( ) const

◆ getSpecularIntensity()

float castor3d::LightCategory::getSpecularIntensity ( ) const
inline

◆ getVolumetricScatteringFactor()

C3D_API float castor3d::LightCategory::getVolumetricScatteringFactor ( ) const

◆ getVolumetricSteps()

C3D_API uint32_t castor3d::LightCategory::getVolumetricSteps ( ) const

name Getters.

◆ setColour()

C3D_API void castor3d::LightCategory::setColour ( castor::Point3f const &  value)

◆ setDiffuseIntensity()

C3D_API void castor3d::LightCategory::setDiffuseIntensity ( float  value)

◆ setIntensity()

C3D_API void castor3d::LightCategory::setIntensity ( castor::Point2f const &  value)

◆ setPcfMaxSlopeOffset()

C3D_API void castor3d::LightCategory::setPcfMaxSlopeOffset ( float  value)

◆ setPcfMinOffset()

C3D_API void castor3d::LightCategory::setPcfMinOffset ( float  value)

◆ setRawMaxSlopeOffset()

C3D_API void castor3d::LightCategory::setRawMaxSlopeOffset ( float  value)

◆ setRawMinOffset()

C3D_API void castor3d::LightCategory::setRawMinOffset ( float  value)

◆ setSpecularIntensity()

C3D_API void castor3d::LightCategory::setSpecularIntensity ( float  value)

◆ setVolumetricScatteringFactor()

C3D_API void castor3d::LightCategory::setVolumetricScatteringFactor ( float  value)

◆ setVolumetricSteps()

C3D_API void castor3d::LightCategory::setVolumetricSteps ( uint32_t  value)

name Mutators.

◆ setVsmMaxVariance()

C3D_API void castor3d::LightCategory::setVsmMaxVariance ( float  value)

◆ setVsmVarianceBias()

C3D_API void castor3d::LightCategory::setVsmVarianceBias ( float  value)

◆ update()

virtual C3D_API void castor3d::LightCategory::update ( )
pure virtual

Updates the light.

Implemented in castor3d::DirectionalLight, castor3d::PointLight, and castor3d::SpotLight.

◆ updateNode()

virtual C3D_API void castor3d::LightCategory::updateNode ( SceneNode const &  node)
protectedpure virtual

Updates the light source's informations related to the scene node.

Parameters
[in]nodeThe scene node.

Friends And Related Function Documentation

◆ Light

friend class Light
friend

Member Data Documentation

◆ m_cubeBox

castor::BoundingBox castor3d::LightCategory::m_cubeBox
protected

The cube box for the light volume of effect.

Referenced by getBoundingBox().

◆ m_farPlane

float castor3d::LightCategory::m_farPlane { 1.0f }
protected

The far plane's depth.

Referenced by getFarPlane().

◆ m_shadowMapIndex

int32_t castor3d::LightCategory::m_shadowMapIndex { -1 }
protected

The light source shadow map index.


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