Castor3D  ..
Classes | 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

Implémentation d'une source lumineuse. Plus de détails...

+ Graphe d'héritage de castor3d::Light:
+ Graphe de collaboration de castor3d::Light:

Classes

class  TextWriter
 Light loader. Plus de détails...
 

Fonctions membres publiques

C3D_API Light (castor::String const &name, Scene &scene, SceneNodeSPtr node, LightFactory &factory, LightType lightType)
 Constructeur. Plus de détails...
 
C3D_API ~Light ()
 Destructeur. Plus de détails...
 
C3D_API void update ()
 Met la source à jour. Plus de détails...
 
C3D_API void updateShadow (castor::Point3r const &target, Viewport &viewport, int32_t index=-1)
 Met le viewport de la source à jour. Plus de détails...
 
C3D_API void bind (castor::PxBufferBase &texture, uint32_t index)
 Met la lumière dans la texture donnée. Plus de détails...
 
C3D_API void attachTo (SceneNodeSPtr node) override
 Attache cette lumière au node donné. Plus de détails...
 
C3D_API DirectionalLightSPtr getDirectionalLight () const
 
C3D_API PointLightSPtr getPointLight () const
 
C3D_API SpotLightSPtr 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
 
void setColour (float *values)
 Définit la couleur. Plus de détails...
 
void setColour (float r, float g, float b)
 Définit la couleur. Plus de détails...
 
void setColour (castor::Point3f const &value)
 Définit la couleur. Plus de détails...
 
void setColour (castor::RgbColour const &value)
 Définit la couleur. Plus de détails...
 
void setIntensity (float *values)
 Définit les valeurs d'intensité. Plus de détails...
 
void setIntensity (float d, float s)
 Définit les valeurs d'intensité. Plus de détails...
 
void setIntensity (castor::Point2f const &value)
 Définit les valeurs d'intensité. Plus de détails...
 
void setDiffuseIntensity (float value)
 Définit l'intensité diffuse. Plus de détails...
 
void setSpecularIntensity (float value)
 Définit l'intensité spéculaire. Plus de détails...
 
castor::BoundingBox const & getBoundingBox () const
 
void setEnabled (bool value)
 Définit le statut d'activation de la lumère. Plus de détails...
 
void enable ()
 Active la lumière. Plus de détails...
 
void disable ()
 Désactive la lumière. Plus de détails...
 
LightCategorySPtr getCategory () const
 
bool isShadowProducer () const
 
void setShadowProducer (bool value)
 Définit le statut de projection d'ombre de la lumère. Plus de détails...
 
ShadowMapRPtr getShadowMap () const
 
void setShadowMap (ShadowMapRPtr value)
 Définit la texture d'ombres de la lumière. Plus de détails...
 
- Fonctions membres publiques hérités de castor3d::MovableObject
C3D_API MovableObject (castor::String const &p_name, Scene &p_scene, MovableType p_type, SceneNodeSPtr p_sn)
 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...
 
SceneNodeSPtr getParent () 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...
 
- Fonctions membres publiques hérités de castor3d::Animable
C3D_API void cleanupAnimations ()
 Vid ela map d'animations. Plus de détails...
 
C3D_API bool hasAnimation (castor::String const &p_name) const
 Récupère une animation. Plus de détails...
 
C3D_API Animation const & getAnimation (castor::String const &p_name) const
 Récupère une animation. Plus de détails...
 
C3D_API AnimationgetAnimation (castor::String const &p_name)
 Récupère 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::Animable
 Animable (Scene &p_scene)
 Constructeur. Plus de détails...
 
virtual ~Animable ()
 Destructeur. Plus de détails...
 
C3D_API Animable (Animable &&p_rhs)=default
 Constructeur par déplacement. Plus de détails...
 
C3D_API Animableoperator= (Animable &&p_rhs)=default
 Opérateur d'affectation par déplacement. Plus de détails...
 
C3D_API Animable (Animable const &p_rhs)=delete
 Constructeur par copie. Plus de détails...
 
C3D_API Animableoperator= (Animable const &p_rhs)=delete
 Opérateur d'affectation par copie. Plus de détails...
 
void doAddAnimation (AnimationSPtr &&p_animation)
 Ajoute une animation. Plus de détails...
 
template<typename Type >
Type & doGetAnimation (castor::String const &p_name)
 Récupère une animation. Plus de détails...
 

Attributs protégés

bool m_enabled { false }
 
bool m_shadowCaster { false }
 
LightCategorySPtr m_category
 
ShadowMapRPtr m_shadowMap { nullptr }
 
- Attributs protégés hérités de castor3d::MovableObject
MovableType m_type
 
castor::String m_strNodeName
 
SceneNodeWPtr m_sceneNode
 
OnSceneNodeChangedConnection m_notifyIndex
 
- Attributs protégés hérités de castor3d::Animable
AnimationPtrStrMap m_animations
 

Description détaillée

Implémentation d'une source lumineuse.

Auteur
Sylvain DOREMUS
Version
0.1
Date
09/02/2010
Remarques

Documentation des constructeurs et destructeur

◆ Light()

C3D_API castor3d::Light::Light ( castor::String const &  name,
Scene scene,
SceneNodeSPtr  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 ( SceneNodeSPtr  node)
overridevirtual

Attache cette lumière au node donné.

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

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

◆ bind()

C3D_API void castor3d::Light::bind ( castor::PxBufferBase &  texture,
uint32_t  index 
)

Met la lumière dans la texture donnée.

Paramètres
[out]textureLa texture recevant les données de la source lumineuse.
[in]indexL'indice de la source lumineuse.

◆ disable()

void castor3d::Light::disable ( )
inline

Désactive la lumière.

Références setEnabled().

+ Voici le graphe d'appel pour cette fonction :

◆ enable()

void castor3d::Light::enable ( )
inline

Active la lumière.

Références setEnabled().

+ Voici le graphe d'appel pour cette fonction :

◆ getBoundingBox()

castor::BoundingBox const& castor3d::Light::getBoundingBox ( ) const
inline
Renvoie
La cube box de la lumière.

Références m_category.

◆ getCategory()

LightCategorySPtr castor3d::Light::getCategory ( ) const
inline
Renvoie
La catégorie de source lumineuse.

Références m_category.

◆ getColour()

castor::Point3f const& castor3d::Light::getColour ( ) const
inline
Renvoie
La couleur de la lumière.

Références m_category.

◆ getDiffuseIntensity()

float castor3d::Light::getDiffuseIntensity ( ) const
inline
Renvoie
L'intensité diffuse.

Références m_category.

◆ getDirectionalLight()

C3D_API DirectionalLightSPtr castor3d::Light::getDirectionalLight ( ) const
Renvoie
La DirectionalLight.

Référencé par castor3d::LightPassShadowTraits< LightType::eDirectional >::getTypedLight().

+ Voici le graphe des appelants de cette fonction :

◆ getFarPlane()

float castor3d::Light::getFarPlane ( ) const
inline
Renvoie
La profondeur du plan éloigné.

Références m_category.

◆ getIntensity()

castor::Point2f const& castor3d::Light::getIntensity ( ) const
inline
Renvoie
Les valeurs d'intensité.

Références m_category.

◆ getLightType()

LightType castor3d::Light::getLightType ( ) const
inline
Renvoie
Le type de lumière.

Références m_category.

◆ getPointLight()

C3D_API PointLightSPtr castor3d::Light::getPointLight ( ) const
Renvoie
La PointLight.

Référencé par castor3d::LightPassShadowTraits< LightType::ePoint >::getTypedLight().

+ Voici le graphe des appelants de cette fonction :

◆ getShadowMap()

ShadowMapRPtr castor3d::Light::getShadowMap ( ) const
inline
Renvoie
Dit si la lumière projette des ombres.

Références m_shadowMap.

◆ getSpecularIntensity()

float castor3d::Light::getSpecularIntensity ( ) const
inline
Renvoie
L'intensité spéculaire.

Références m_category.

◆ getSpotLight()

C3D_API SpotLightSPtr castor3d::Light::getSpotLight ( ) const
Renvoie
La SpotLight.

Référencé par castor3d::LightPassShadowTraits< LightType::eSpot >::getTypedLight().

+ Voici le graphe des appelants de cette fonction :

◆ isEnabled()

bool castor3d::Light::isEnabled ( ) const
inline
Renvoie
Le statut d'activation de la lumière.

Références m_enabled.

◆ isShadowProducer()

bool castor3d::Light::isShadowProducer ( ) const
inline
Renvoie
Dit si la lumière projette des ombres.

Références m_shadowCaster.

◆ onNodeChanged()

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

◆ setColour() [1/4]

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

Définit la couleur.

Paramètres
[in]valuesLa nouvelle valeur.

Références m_category.

◆ setColour() [2/4]

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

Définit la couleur.

Paramètres
[in]r,g,bLes composantes RGB.

Références m_category.

◆ setColour() [3/4]

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

Définit la couleur.

Paramètres
[in]valueLa nouvelle valeur.

Références m_category.

◆ setColour() [4/4]

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

Définit la couleur.

Paramètres
[in]valueLa nouvelle valeur

Références m_category.

◆ setDiffuseIntensity()

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

Définit l'intensité diffuse.

Paramètres
[in]valueLa nouvelle valeur.

Références m_category.

◆ setEnabled()

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

Définit le statut d'activation de la lumère.

Paramètres
[in]valueLa nouvelle valeur.

Références m_enabled.

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

+ Voici le graphe des appelants de cette fonction :

◆ setIntensity() [1/3]

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

Définit les valeurs d'intensité.

Paramètres
[in]valuesLes nouvelles valeurs.

Références m_category.

◆ setIntensity() [2/3]

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

Définit les valeurs d'intensité.

Paramètres
[in]d,sLes nouvelles valeurs.

Références m_category.

◆ setIntensity() [3/3]

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

Définit les valeurs d'intensité.

Paramètres
[in]valueLes nouvelles valeurs.

Références m_category.

◆ setShadowMap()

void castor3d::Light::setShadowMap ( ShadowMapRPtr  value)
inline

Définit la texture d'ombres de la lumière.

Paramètres
[in]valueLa nouvelle valeur.

Références m_shadowMap.

◆ setShadowProducer()

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

Définit le statut de projection d'ombre de la lumère.

Paramètres
[in]valueLa nouvelle valeur.

Références m_shadowCaster.

◆ setSpecularIntensity()

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

Définit l'intensité spéculaire.

Paramètres
[in]valueLa nouvelle valeur.

Références m_category.

◆ update()

C3D_API void castor3d::Light::update ( )

Met la source à jour.

◆ updateShadow()

C3D_API void castor3d::Light::updateShadow ( castor::Point3r const &  target,
Viewport viewport,
int32_t  index = -1 
)

Met le viewport de la source à jour.

Paramètres
[in]targetLa position de la cible, utilisée pour la map d'ombres des source directionnelles.
[in,out]viewportLe viewport à mettre à jour.
[in]indexL'indice de la shadow map de la lumière, -1 si elle n'en a pas.

Documentation des données membres

◆ m_category

LightCategorySPtr castor3d::Light::m_category
protected

◆ m_enabled

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

Dit si la lumière est active ou pas.

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

◆ m_shadowCaster

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

Dit si la lumière projette des ombres.

Référencé par isShadowProducer(), et setShadowProducer().

◆ m_shadowMap

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

La texture d'ombres.

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

◆ onChanged

OnLightChanged castor3d::Light::onChanged

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