Castor3D 0.15.0
Multiplatform 3D engine
Fonctions membres publiques | Attributs publics | Attributs protégés | Liste de tous les membres
Référence de la classe castor3d::Light

#include <Light.hpp>

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

Fonctions membres publiques

C3D_API Light (castor::String const &name, Scene &scene, SceneNode &node, LightFactory &factory, LightType lightType)
 Constructeur.
 
C3D_API void update (CpuUpdater &updater)
 Mise à jour CPU.
 
C3D_API void fillBuffer (uint32_t index, castor::Point4f *data)
 Enregistre les données de la source lumineuse dans le tampon donné.
 
C3D_API DirectionalLightRPtr getDirectionalLight () const
 
C3D_API PointLightRPtr getPointLight () const
 
C3D_API SpotLightRPtr getSpotLight () const
 
LightType getLightType () const
 
bool isEnabled () const
 
castor::Point3f const & getColour () const
 
castor::Point2f const & getIntensity () const
 
float getFarPlane () const
 
float getDiffuseIntensity () const
 
float getSpecularIntensity () const
 
castor::BoundingBox const & getBoundingBox () const
 
LightCategoryRPtr getCategory () const
 
bool isShadowProducer () const
 
bool isExpectedShadowProducer () const
 
ShadowType getShadowType () const
 
ShadowMapRPtr getShadowMap () const
 
uint32_t getShadowMapIndex () const
 
uint32_t getBufferIndex () const
 
bool needsRsmShadowMaps () const
 
GlobalIlluminationType getGlobalIlluminationType () const
 
GlobalIlluminationType getExpectedGlobalIlluminationType () const
 
RsmConfig const & getRsmConfig () const
 
RsmConfiggetRsmConfig ()
 
LpvConfig const & getLpvConfig () const
 
LpvConfiggetLpvConfig ()
 
uint32_t getVolumetricSteps () const
 
float getVolumetricScatteringFactor () const
 
castor::Point2f const & getShadowRawOffsets () const
 
castor::Point2f const & getShadowPcfOffsets () const
 
float getVsmMinVariance () const
 
float getVsmLightBleedingReduction () const
 
castor::RangedValue< uint32_t > getShadowPcfFilterSize () const
 
castor::RangedValue< uint32_t > getShadowPcfSampleCount () const
 
ShadowConfig const & getShadowConfig () const
 
void setColour (float *values)
 
void setColour (float r, float g, float b)
 
void setColour (castor::Point3f const &value)
 
void setColour (castor::RgbColour const &value)
 
void setIntensity (float *values)
 
void setIntensity (float d, float s)
 
void setIntensity (castor::Point2f const &value)
 
void setDiffuseIntensity (float value)
 
void setSpecularIntensity (float value)
 
void setEnabled (bool value)
 
void enable ()
 
void disable ()
 
void setShadowProducer (bool value)
 
void setShadowMapIndex (uint32_t index)
 
void setShadowMap (ShadowMapRPtr value, uint32_t index=0u)
 
void setGlobalIlluminationType (GlobalIlluminationType value)
 
void setShadowType (ShadowType value)
 
void setVolumetricSteps (uint32_t value)
 
void setVolumetricScatteringFactor (float value)
 
void setRawMinOffset (float value)
 
void setRawMaxSlopeOffset (float value)
 
void setPcfMinOffset (float value)
 
void setPcfMaxSlopeOffset (float value)
 
void setPcfFilterSize (uint32_t value)
 
void setPcfSampleCount (uint32_t value)
 
void setVsmMinVariance (float value)
 
void setVsmLightBleedingReduction (float value)
 
void setBufferIndex (uint32_t value)
 
- Fonctions membres publiques hérités de castor3d::MovableObject
C3D_API MovableObject (castor::String const &name, Scene &scene, MovableType type, SceneNode &node)
 Constructeur.
 
C3D_API MovableObject (castor::String const &name, Scene &scene, MovableType type)
 Constructeur.
 
virtual C3D_API ~MovableObject ()
 Destructeur.
 
C3D_API void detach ()
 Détache l'objet de son parent.
 
virtual C3D_API void attachTo (SceneNode &node)
 Attache l'object à un noeud.
 
C3D_API void markDirty ()
 Ajout l'objet à la liste des objets à mettre à jour de la scène.
 
C3D_API EngineRPtr getEngine () const
 
SceneNodegetParent () const
 
MovableType getType () const
 

Attributs publics

OnLightChanged onGPUChanged
 

Attributs protégés

bool m_enabled { false }
 
bool m_shadowCaster { false }
 
std::atomic_bool m_currentShadowCaster { false }
 
bool m_dirty { true }
 
ShadowConfig m_shadows
 
LightCategoryUPtr m_category
 
ShadowMapRPtr m_shadowMap { nullptr }
 
uint32_t m_shadowMapIndex { 0u }
 
std::atomic< GlobalIlluminationTypem_currentGlobalIllumination { GlobalIlluminationType::eNone }
 
uint32_t m_bufferIndex { 0u }
 
- Attributs protégés hérités de castor3d::MovableObject
MovableType m_type
 
SceneNodem_sceneNode
 
OnSceneNodeChangedConnection m_notifyIndex
 

Documentation des constructeurs et destructeur

◆ Light()

C3D_API castor3d::Light::Light ( castor::String const &  name,
Scene scene,
SceneNode node,
LightFactory factory,
LightType  lightType 
)

Constructeur.

Paramètres
[in]nameLe nom de la lumière.
[in]sceneLa scène parente.
[in]nodeLe scene node parent.
[in]factoryLa fabrique de LightCategory.
[in]lightTypeLe type de lumière.

Documentation des fonctions membres

◆ disable()

void castor3d::Light::disable ( )
inline

Références setEnabled().

Voici le graphe d'appel pour cette fonction :

◆ enable()

void castor3d::Light::enable ( )
inline

Références setEnabled().

Voici le graphe d'appel pour cette fonction :

◆ fillBuffer()

C3D_API void castor3d::Light::fillBuffer ( uint32_t  index,
castor::Point4f *  data 
)

Enregistre les données de la source lumineuse dans le tampon donné.

Paramètres
[in]indexL'index de la source lumineuse dans le buffer.
[out]dataReçoit les informations.

◆ getBoundingBox()

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

Références m_category.

◆ getBufferIndex()

uint32_t castor3d::Light::getBufferIndex ( ) const
inline

Références m_bufferIndex.

◆ getCategory()

LightCategoryRPtr castor3d::Light::getCategory ( ) const
inline

Références m_category.

◆ getColour()

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

Références m_category.

◆ getDiffuseIntensity()

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

Références m_category.

◆ getDirectionalLight()

C3D_API DirectionalLightRPtr castor3d::Light::getDirectionalLight ( ) const

name Accesseurs.

◆ getExpectedGlobalIlluminationType()

GlobalIlluminationType castor3d::Light::getExpectedGlobalIlluminationType ( ) const
inline

◆ getFarPlane()

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

Références m_category.

◆ getGlobalIlluminationType()

GlobalIlluminationType castor3d::Light::getGlobalIlluminationType ( ) const
inline

Références m_currentGlobalIllumination.

Référencé par needsRsmShadowMaps().

Voici le graphe des appelants de cette fonction :

◆ getIntensity()

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

Références m_category.

◆ getLightType()

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

Références m_category.

◆ getLpvConfig() [1/2]

LpvConfig & castor3d::Light::getLpvConfig ( )
inline

◆ getLpvConfig() [2/2]

LpvConfig const & castor3d::Light::getLpvConfig ( ) const
inline

◆ getPointLight()

C3D_API PointLightRPtr castor3d::Light::getPointLight ( ) const

◆ getRsmConfig() [1/2]

RsmConfig & castor3d::Light::getRsmConfig ( )
inline

◆ getRsmConfig() [2/2]

RsmConfig const & castor3d::Light::getRsmConfig ( ) const
inline

◆ getShadowConfig()

ShadowConfig const & castor3d::Light::getShadowConfig ( ) const
inline

Références m_shadows.

◆ getShadowMap()

ShadowMapRPtr castor3d::Light::getShadowMap ( ) const
inline

Références m_shadowMap.

◆ getShadowMapIndex()

uint32_t castor3d::Light::getShadowMapIndex ( ) const
inline

Références m_shadowMapIndex.

◆ getShadowPcfFilterSize()

castor::RangedValue< uint32_t > castor3d::Light::getShadowPcfFilterSize ( ) const
inline

◆ getShadowPcfOffsets()

castor::Point2f const & castor3d::Light::getShadowPcfOffsets ( ) const
inline

◆ getShadowPcfSampleCount()

castor::RangedValue< uint32_t > castor3d::Light::getShadowPcfSampleCount ( ) const
inline

◆ getShadowRawOffsets()

castor::Point2f const & castor3d::Light::getShadowRawOffsets ( ) const
inline

◆ getShadowType()

ShadowType castor3d::Light::getShadowType ( ) const
inline

◆ getSpecularIntensity()

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

Références m_category.

◆ getSpotLight()

C3D_API SpotLightRPtr castor3d::Light::getSpotLight ( ) const

◆ getVolumetricScatteringFactor()

float castor3d::Light::getVolumetricScatteringFactor ( ) const
inline

◆ getVolumetricSteps()

uint32_t castor3d::Light::getVolumetricSteps ( ) const
inline

◆ getVsmLightBleedingReduction()

float castor3d::Light::getVsmLightBleedingReduction ( ) const
inline

◆ getVsmMinVariance()

float castor3d::Light::getVsmMinVariance ( ) const
inline

◆ isEnabled()

bool castor3d::Light::isEnabled ( ) const
inline

Références m_enabled.

◆ isExpectedShadowProducer()

bool castor3d::Light::isExpectedShadowProducer ( ) const
inline

Références m_shadowCaster.

◆ isShadowProducer()

bool castor3d::Light::isShadowProducer ( ) const
inline

Références m_currentShadowCaster.

◆ needsRsmShadowMaps()

bool castor3d::Light::needsRsmShadowMaps ( ) const
inline

Références castor3d::eNone, castor3d::eVoxelConeTracing, et getGlobalIlluminationType().

Voici le graphe d'appel pour cette fonction :

◆ setBufferIndex()

void castor3d::Light::setBufferIndex ( uint32_t  value)
inline

Références m_bufferIndex.

◆ setColour() [1/4]

void castor3d::Light::setColour ( castor::Point3f const &  value)
inline

Références m_category.

◆ setColour() [2/4]

void castor3d::Light::setColour ( castor::RgbColour const &  value)
inline

Références m_category.

◆ setColour() [3/4]

void castor3d::Light::setColour ( float *  values)
inline

name Mutateurs.

Références m_category.

◆ setColour() [4/4]

void castor3d::Light::setColour ( float  r,
float  g,
float  b 
)
inline

Références m_category.

◆ setDiffuseIntensity()

void castor3d::Light::setDiffuseIntensity ( float  value)
inline

Références m_category.

◆ setEnabled()

void castor3d::Light::setEnabled ( bool  value)
inline

Références m_enabled.

Référencé par disable(), et enable().

Voici le graphe des appelants de cette fonction :

◆ setGlobalIlluminationType()

void castor3d::Light::setGlobalIlluminationType ( GlobalIlluminationType  value)
inline

Références castor3d::ShadowConfig::globalIllumination, m_shadows, et castor3d::MovableObject::markDirty().

Voici le graphe d'appel pour cette fonction :

◆ setIntensity() [1/3]

void castor3d::Light::setIntensity ( castor::Point2f const &  value)
inline

Références m_category.

◆ setIntensity() [2/3]

void castor3d::Light::setIntensity ( float *  values)
inline

Références m_category.

◆ setIntensity() [3/3]

void castor3d::Light::setIntensity ( float  d,
float  s 
)
inline

Références m_category.

◆ setPcfFilterSize()

void castor3d::Light::setPcfFilterSize ( uint32_t  value)
inline

◆ setPcfMaxSlopeOffset()

void castor3d::Light::setPcfMaxSlopeOffset ( float  value)
inline

◆ setPcfMinOffset()

void castor3d::Light::setPcfMinOffset ( float  value)
inline

◆ setPcfSampleCount()

void castor3d::Light::setPcfSampleCount ( uint32_t  value)
inline

◆ setRawMaxSlopeOffset()

void castor3d::Light::setRawMaxSlopeOffset ( float  value)
inline

◆ setRawMinOffset()

void castor3d::Light::setRawMinOffset ( float  value)
inline

◆ setShadowMap()

void castor3d::Light::setShadowMap ( ShadowMapRPtr  value,
uint32_t  index = 0u 
)
inline

◆ setShadowMapIndex()

void castor3d::Light::setShadowMapIndex ( uint32_t  index)
inline

Références m_shadowMapIndex, et onGPUChanged.

◆ setShadowProducer()

void castor3d::Light::setShadowProducer ( bool  value)
inline

Références m_shadowCaster, et castor3d::MovableObject::markDirty().

Voici le graphe d'appel pour cette fonction :

◆ setShadowType()

void castor3d::Light::setShadowType ( ShadowType  value)
inline

◆ setSpecularIntensity()

void castor3d::Light::setSpecularIntensity ( float  value)
inline

Références m_category.

◆ setVolumetricScatteringFactor()

void castor3d::Light::setVolumetricScatteringFactor ( float  value)
inline

◆ setVolumetricSteps()

void castor3d::Light::setVolumetricSteps ( uint32_t  value)
inline

◆ setVsmLightBleedingReduction()

void castor3d::Light::setVsmLightBleedingReduction ( float  value)
inline

◆ setVsmMinVariance()

void castor3d::Light::setVsmMinVariance ( float  value)
inline

◆ update()

C3D_API void castor3d::Light::update ( CpuUpdater updater)

Mise à jour CPU.

Paramètres
[in,out]updaterLes données d'update.

Documentation des données membres

◆ m_bufferIndex

uint32_t castor3d::Light::m_bufferIndex { 0u }
protected

Référencé par getBufferIndex(), et setBufferIndex().

◆ m_category

LightCategoryUPtr castor3d::Light::m_category
protected

◆ m_currentGlobalIllumination

std::atomic< GlobalIlluminationType > castor3d::Light::m_currentGlobalIllumination { GlobalIlluminationType::eNone }
protected

Référencé par getGlobalIlluminationType().

◆ m_currentShadowCaster

std::atomic_bool castor3d::Light::m_currentShadowCaster { false }
protected

Référencé par isShadowProducer().

◆ m_dirty

bool castor3d::Light::m_dirty { true }
protected

◆ m_enabled

bool castor3d::Light::m_enabled { false }
protected

Référencé par isEnabled(), et setEnabled().

◆ m_shadowCaster

bool castor3d::Light::m_shadowCaster { false }
protected

◆ m_shadowMap

ShadowMapRPtr castor3d::Light::m_shadowMap { nullptr }
protected

Référencé par getShadowMap(), et setShadowMap().

◆ m_shadowMapIndex

uint32_t castor3d::Light::m_shadowMapIndex { 0u }
protected

◆ m_shadows

ShadowConfig castor3d::Light::m_shadows
protected

◆ onGPUChanged

OnLightChanged castor3d::Light::onGPUChanged

Référencé par setShadowMap(), et setShadowMapIndex().


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