Castor3D  0.11.0
Multiplatform 3D engine
Fonctions membres publiques | Attributs publics | Fonctions membres protégées | Attributs protégés | Liste de tous les membres
Référence de la classe castor3d::Light
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. Plus de détails...
 
C3D_API ~Light ()
 Destructeur. Plus de détails...
 
C3D_API void update (CpuUpdater &updater)
 Mise à jour CPU. Plus de détails...
 
C3D_API void bind (castor::Point4f *buffer) const
 Enregistre les données de l'image dans le tampon donné. Plus de détails...
 
void bind (uint32_t index, castor::Point4f *buffer)
 Enregistre les données de l'image dans le tampon donné. Plus de détails...
 
C3D_API void attachTo (SceneNode &node) override
 Attache cette lumière au SceneNode donné. Plus de détails...
 
C3D_API DirectionalLightSPtr getDirectionalLight () const
 
C3D_API PointLightSPtr getPointLight () const
 
C3D_API SpotLightSPtr getSpotLight () const
 
bool hasChanged () 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
 
LightCategorySPtr 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
 
castor::Point2f const & getShadowVariance () 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 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 setVsmMaxVariance (float value)
 
void setVsmVarianceBias (float value)
 
- Fonctions membres publiques hérités de castor3d::MovableObject
C3D_API MovableObject (castor::String const &name, Scene &scene, MovableType type, SceneNode &node)
 Constructeur. Plus de détails...
 
C3D_API MovableObject (castor::String const &name, Scene &scene, MovableType type)
 Constructeur. Plus de détails...
 
virtual C3D_API ~MovableObject ()
 Destructeur. Plus de détails...
 
C3D_API void detach ()
 Détache l'objet de son parent. Plus de détails...
 
SceneNodegetParent () const
 Récupère le noeud parent. Plus de détails...
 
MovableType getType () const
 Récupère le type d'objet. Plus de détails...
 
ScenegetScene () const
 
- Fonctions membres publiques hérités de castor3d::AnimableT< AnimableHanlerT >
void cleanupAnimations ()
 Vid ela map d'animations. Plus de détails...
 
bool hasAnimation (castor::String const &name) const
 Récupère une animation. Plus de détails...
 
Animation const & getAnimation (castor::String const &name) const
 Récupère une animation. Plus de détails...
 
AnimationgetAnimation (castor::String const &name)
 Récupère une animation. Plus de détails...
 
void addAnimation (AnimationPtr animation)
 Ajoute une animation. Plus de détails...
 
AnimationPtrStrMap const & getAnimations () const
 

Attributs publics

OnLightChanged onChanged
 

Fonctions membres protégées

void onNodeChanged (SceneNode const &node)
 
- Fonctions membres protégées hérités de castor3d::AnimableT< AnimableHanlerT >
void doRemoveAnimation (castor::String const &name)
 Enlève une animation. Plus de détails...
 
template<typename AnimationType >
AnimationTypedoGetAnimation (castor::String const &name)
 Récupère une animation. Plus de détails...
 
 AnimableT (AnimableHanlerT &owner)
 
virtual C3D_API ~AnimableT ()=default
 
C3D_API AnimableT (AnimableT &&rhs)=default
 
C3D_API AnimableToperator= (AnimableT &&rhs)=delete
 
C3D_API AnimableT (AnimableT const &rhs)=delete
 
C3D_API AnimableToperator= (AnimableT const &rhs)=delete
 

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
 
LightCategorySPtr 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
Scenem_scene
 
MovableType m_type
 
castor::String m_strNodeName
 
SceneNodem_sceneNode
 
OnSceneNodeChangedConnection m_notifyIndex
 
- Attributs protégés hérités de castor3d::AnimableT< AnimableHanlerT >
AnimationPtrStrMap m_animations
 

Membres hérités additionnels

- Types protégés hérités de castor3d::AnimableT< AnimableHanlerT >
using Animation = AnimationT< AnimableHanlerT >
 
using AnimationPtr = std::unique_ptr< Animation >
 
using AnimationPtrStrMap = std::map< castor::String, AnimationPtr >
 

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.

◆ ~Light()

C3D_API castor3d::Light::~Light ( )

Destructeur.

Documentation des fonctions membres

◆ attachTo()

C3D_API void castor3d::Light::attachTo ( SceneNode node)
overridevirtual

Attache cette lumière au SceneNode donné.

Paramètres
[in]nodeLe nouveau node parent de cette lumière.

Réimplémentée à partir de castor3d::MovableObject.

◆ bind() [1/2]

C3D_API void castor3d::Light::bind ( castor::Point4f *  buffer) const

Enregistre les données de l'image dans le tampon donné.

Paramètres
[out]bufferLe tampon.

Référencé par bind().

Voici le graphe des appelants de cette fonction :

◆ bind() [2/2]

void castor3d::Light::bind ( uint32_t  index,
castor::Point4f *  buffer 
)
inline

Enregistre les données de l'image dans le tampon donné.

Paramètres
[in]indexL'indice de la source lumineuse dans le tampon de lumières.
[out]bufferLe tampon.

Références bind(), et m_bufferIndex.

Voici le graphe d'appel pour cette fonction :

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

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

LightCategorySPtr 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 DirectionalLightSPtr 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 const& castor3d::Light::getLpvConfig ( ) const
inline

◆ getLpvConfig() [2/2]

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

◆ getPointLight()

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

◆ getRsmConfig() [1/2]

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

◆ getRsmConfig() [2/2]

RsmConfig& castor3d::Light::getRsmConfig ( )
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.

◆ getShadowPcfOffsets()

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

◆ getShadowRawOffsets()

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

◆ getShadowType()

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

◆ getShadowVariance()

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

◆ getSpecularIntensity()

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

Références m_category.

◆ getSpotLight()

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

◆ getVolumetricScatteringFactor()

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

◆ getVolumetricSteps()

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

◆ hasChanged()

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

Références m_dirty.

◆ 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, et getGlobalIlluminationType().

Voici le graphe d'appel pour cette fonction :

◆ onNodeChanged()

void castor3d::Light::onNodeChanged ( SceneNode const &  node)
protected

◆ setColour() [1/4]

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

name Mutateurs.

Références m_category.

◆ setColour() [2/4]

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

Références m_category.

◆ setColour() [3/4]

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

Références m_category.

◆ setColour() [4/4]

void castor3d::Light::setColour ( castor::RgbColour const &  value)
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

◆ setIntensity() [1/3]

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

Références m_category.

◆ setIntensity() [2/3]

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

Références m_category.

◆ setIntensity() [3/3]

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

Références m_category.

◆ setPcfMaxSlopeOffset()

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

◆ setPcfMinOffset()

void castor3d::Light::setPcfMinOffset ( float  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

Références m_shadowMap, et m_shadowMapIndex.

◆ setShadowProducer()

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

Références m_shadowCaster, et onChanged.

◆ 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

◆ setVsmMaxVariance()

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

◆ setVsmVarianceBias()

void castor3d::Light::setVsmVarianceBias ( 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 bind(), et getBufferIndex().

◆ m_category

LightCategorySPtr 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

Référencé par hasChanged().

◆ 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

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

◆ m_shadows

ShadowConfig castor3d::Light::m_shadows
protected

◆ onChanged

OnLightChanged castor3d::Light::onChanged

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