Castor3D 0.16.0
Multiplatform 3D engine
Classes | Fonctions membres publiques | Attributs publics statiques | Fonctions membres protégées | Attributs protégés | Amis | Liste de tous les membres
Référence de la classe castor3d::LightCategoryabstract

#include <LightCategory.hpp>

Graphe d'héritage de castor3d::LightCategory:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::LightCategory:
Collaboration graph
[légende]

Classes

struct  LightData
 

Fonctions membres publiques

virtual C3D_API ~LightCategory () noexcept=default
 Destructeur.
 
virtual C3D_API void update ()=0
 Met la source à jour.
 
C3D_API void fillLightBuffer (castor::Point4f *data) const
 Met la lumière dans le buffer donné.
 
virtual C3D_API void fillShadowBuffer (AllShadowData &data) const =0
 Met les données d'ombre dans le buffer donné.
 
C3D_API void accept (ConfigurationVisitorBase &vis)
 Fonction d'acceptation de ConfigurationVisitorBase.
 
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 float getVsmMinVariance () const
 
C3D_API float getVsmLightBleedingReduction () const
 
C3D_API castor::RangedValue< uint32_t > getShadowPcfFilterSize () const
 
C3D_API castor::RangedValue< uint32_t > getShadowPcfSampleCount () const
 
C3D_API ShadowConfig const & getShadowConfig () const
 
C3D_API LpvConfig const & getLpvConfig () const
 
LightType getLightType () const
 
uint32_t getLightComponentCount () const
 
uint32_t getShadowComponentCount () 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 setPcfFilterSize (uint32_t value)
 
C3D_API void setPcfSampleCount (uint32_t value)
 
C3D_API void setVsmMinVariance (float value)
 
C3D_API void setVsmLightBleedingReduction (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 ()
 

Attributs publics statiques

static uint32_t constexpr LightMbrAlign = 4u * sizeof( float )
 

Fonctions membres protégées

C3D_API LightCategory (LightType lightType, Light &light, uint32_t lightComponentCount, uint32_t shadowComponentCount)
 Constructeur.
 
C3D_API void doFillBaseShadowData (BaseShadowData &data) const
 Met les données d'ombre dans le buffer donné.
 

Attributs protégés

castor::BoundingBox m_cubeBox
 
float m_farPlane { 1.0f }
 

Amis

class Light
 

Documentation des constructeurs et destructeur

◆ LightCategory()

C3D_API castor3d::LightCategory::LightCategory ( LightType lightType,
Light & light,
uint32_t lightComponentCount,
uint32_t shadowComponentCount )
explicitprotected

Constructeur.

Paramètres
[in]lightTypeLe type de catégorie de lumière.
[in]lightLa Light parente.
[in]lightComponentCountLe nombre de vec4 utilisés pour stocker les données de lumière.
[in]shadowComponentCountLe nombre de vec4 utilisés pour stocker les données d'ombres.

◆ ~LightCategory()

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

Destructeur.

Documentation des fonctions membres

◆ accept()

C3D_API void castor3d::LightCategory::accept ( ConfigurationVisitorBase & vis)

Fonction d'acceptation de ConfigurationVisitorBase.

Paramètres
visLe ... visiteur.

◆ doFillBaseShadowData()

C3D_API void castor3d::LightCategory::doFillBaseShadowData ( BaseShadowData & data) const
protected

Met les données d'ombre dans le buffer donné.

Paramètres
[out]dataReçoit les données d'ombres de la source lumineuse.

◆ fillLightBuffer()

C3D_API void castor3d::LightCategory::fillLightBuffer ( castor::Point4f * data) const

Met la lumière dans le buffer donné.

Paramètres
[out]dataReçoit les données de la source lumineuse.

◆ fillShadowBuffer()

virtual C3D_API void castor3d::LightCategory::fillShadowBuffer ( AllShadowData & data) const
pure virtual

Met les données d'ombre dans le buffer donné.

Paramètres
[out]dataReçoit les données d'ombres de la source lumineuse.

Implémenté dans castor3d::DirectionalLight, castor3d::PointLight, et castor3d::SpotLight.

◆ getBoundingBox()

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

Références 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

Références 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

◆ getLightComponentCount()

uint32_t castor3d::LightCategory::getLightComponentCount ( ) const
inline

◆ getLightType()

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

◆ getLpvConfig()

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

◆ getShadowComponentCount()

uint32_t castor3d::LightCategory::getShadowComponentCount ( ) const
inline

◆ getShadowConfig()

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

◆ getShadowPcfFilterSize()

C3D_API castor::RangedValue< uint32_t > castor3d::LightCategory::getShadowPcfFilterSize ( ) const

◆ getShadowPcfOffsets()

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

◆ getShadowPcfSampleCount()

C3D_API castor::RangedValue< uint32_t > castor3d::LightCategory::getShadowPcfSampleCount ( ) const

◆ getShadowRawOffsets()

C3D_API castor::Point2f const & castor3d::LightCategory::getShadowRawOffsets ( ) 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 Accesseurs.

◆ getVsmLightBleedingReduction()

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

◆ getVsmMinVariance()

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

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

◆ setPcfFilterSize()

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

◆ setPcfMaxSlopeOffset()

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

◆ setPcfMinOffset()

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

◆ setPcfSampleCount()

C3D_API void castor3d::LightCategory::setPcfSampleCount ( uint32_t 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 Mutateurs.

◆ setVsmLightBleedingReduction()

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

◆ setVsmMinVariance()

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

◆ update()

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

Met la source à jour.

Implémenté dans castor3d::DirectionalLight, castor3d::PointLight, et castor3d::SpotLight.

Documentation des fonctions amies et associées

◆ Light

friend class Light
friend

Documentation des données membres

◆ LightMbrAlign

uint32_t constexpr castor3d::LightCategory::LightMbrAlign = 4u * sizeof( float )
staticconstexpr

◆ m_cubeBox

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

La cube box pour le volume d'effet de la lumière.

Référencé par getBoundingBox().

◆ m_farPlane

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

La profondeur du plan éloigné.

Référencé par getFarPlane().


La documentation de cette classe a été générée à partir du fichier suivant :