Castor3D  ..
Classes | Fonctions membres publiques | 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 &p_name, Scene &p_scene, SceneNodeSPtr p_node, LightFactory &p_factory, LightType p_lightType)
 Constructeur. Plus de détails...
 
C3D_API ~Light ()
 Destructeur. Plus de détails...
 
C3D_API void Update (Castor::Point3r const &p_target, Viewport &p_viewport, int32_t p_index=-1)
 Met le viewport de la source à jour. Plus de détails...
 
C3D_API void Bind (Castor::PxBufferBase &p_texture, uint32_t p_index)
 Met la lumière dans la texture donnée. Plus de détails...
 
C3D_API void AttachTo (SceneNodeSPtr p_node) override
 Attache cette lumière au node donné Plus de détails...
 
C3D_API DirectionalLightSPtr GetDirectionalLight () const
 Récupère la DirectionalLight. Plus de détails...
 
C3D_API PointLightSPtr GetPointLight () const
 Récupère la PointLight. Plus de détails...
 
C3D_API SpotLightSPtr GetSpotLight () const
 Récupère la SpotLight. Plus de détails...
 
LightType GetLightType () const
 Récupère le type de lumière. Plus de détails...
 
bool IsEnabled () const
 Récupère le statut d'activation de la lumière. Plus de détails...
 
Castor::Point3f const & GetColour () const
 
Castor::Point3f const & GetIntensity () const
 
float GetAmbientIntensity () const
 
float GetDiffuseIntensity () const
 
float GetSpecularIntensity () const
 
void SetColour (float *p_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 &p_colour)
 Définit la couleur. Plus de détails...
 
void SetColour (Castor::Colour const &p_colour)
 Définit la couleur. Plus de détails...
 
void SetIntensity (float *p_values)
 Définit les valeurs d'intensité. Plus de détails...
 
void SetIntensity (float a, float d, float s)
 Définit les valeurs d'intensité. Plus de détails...
 
void SetIntensity (Castor::Point3f const &p_intensity)
 Définit les valeurs d'intensité. Plus de détails...
 
void SetAmbientIntensity (float p_intensity)
 Définit l'intensité ambiante. Plus de détails...
 
void SetDiffuseIntensity (float p_intensity)
 Définit l'intensité diffuse. Plus de détails...
 
void SetSpecularIntensity (float p_intensity)
 Définit l'intensité spéculaire. Plus de détails...
 
void SetEnabled (bool p_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 p_value)
 Définit le statut de projection d'ombre de la lumè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
 

Fonctions membres protégées

void OnNodeChanged (SceneNode const &p_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
 
- Attributs protégés hérités de Castor3D::MovableObject
MovableType m_type
 
Castor::String m_strNodeName
 
SceneNodeWPtr m_sceneNode
 
SceneNode::OnChanged::connection 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 &  p_name,
Scene p_scene,
SceneNodeSPtr  p_node,
LightFactory p_factory,
LightType  p_lightType 
)

Constructeur.

Paramètres
[in]p_nameLe nom de la lumière
[in]p_sceneLa scène parente
[in]p_factoryLa fabrique de LightCategory
[in]p_lightTypeLe type de lumière
[in]p_nodeLe scene node parent

◆ ~Light()

C3D_API Castor3D::Light::~Light ( )

Destructeur.

Documentation des fonctions membres

◆ AttachTo()

C3D_API void Castor3D::Light::AttachTo ( SceneNodeSPtr  p_node)
overridevirtual

Attache cette lumière au node donné

Paramètres
[in]p_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 &  p_texture,
uint32_t  p_index 
)

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

Paramètres
[out]p_textureLa texture recevant les données de la source lumineuse.
[in]p_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 :

◆ GetAmbientIntensity()

float Castor3D::Light::GetAmbientIntensity ( ) const
inline
Renvoie
L'intensité ambiante.

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

Récupère la DirectionalLight.

Renvoie
La valeur

◆ GetIntensity()

Castor::Point3f const& Castor3D::Light::GetIntensity ( ) const
inline
Renvoie
Les valeurs d'intensité.

Références m_category.

◆ GetLightType()

LightType Castor3D::Light::GetLightType ( ) const
inline

Récupère le type de lumière.

Renvoie
La valeur

Références m_category.

◆ GetPointLight()

C3D_API PointLightSPtr Castor3D::Light::GetPointLight ( ) const

Récupère la PointLight.

Renvoie
La valeur

◆ 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

Récupère la SpotLight.

Renvoie
La valeur

◆ IsEnabled()

bool Castor3D::Light::IsEnabled ( ) const
inline

Récupère le statut d'activation de la lumière.

Renvoie
La valeur

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 &  p_node)
protected

Référencé par SetShadowProducer().

+ Voici le graphe des appelants de cette fonction :

◆ SetAmbientIntensity()

void Castor3D::Light::SetAmbientIntensity ( float  p_intensity)
inline

Définit l'intensité ambiante.

Paramètres
[in]p_intensityLa nouvelle valeur.

Références m_category.

◆ SetColour() [1/4]

void Castor3D::Light::SetColour ( float *  p_values)
inline

Définit la couleur.

Paramètres
[in]p_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 &  p_colour)
inline

Définit la couleur.

Paramètres
[in]p_colourLa nouvelle valeur.

Références m_category.

◆ SetColour() [4/4]

void Castor3D::Light::SetColour ( Castor::Colour const &  p_colour)
inline

Définit la couleur.

Paramètres
[in]p_colourLa nouvelle valeur

Références m_category.

◆ SetDiffuseIntensity()

void Castor3D::Light::SetDiffuseIntensity ( float  p_intensity)
inline

Définit l'intensité diffuse.

Paramètres
[in]p_intensityLa nouvelle valeur.

Références m_category.

◆ SetEnabled()

void Castor3D::Light::SetEnabled ( bool  p_value)
inline

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

Paramètres
[in]p_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 *  p_values)
inline

Définit les valeurs d'intensité.

Paramètres
[in]p_valuesLes nouvelles valeurs.

Références m_category.

◆ SetIntensity() [2/3]

void Castor3D::Light::SetIntensity ( float  a,
float  d,
float  s 
)
inline

Définit les valeurs d'intensité.

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

Références m_category.

◆ SetIntensity() [3/3]

void Castor3D::Light::SetIntensity ( Castor::Point3f const &  p_intensity)
inline

Définit les valeurs d'intensité.

Paramètres
[in]p_intensityLes nouvelles valeurs.

Références m_category.

◆ SetShadowProducer()

void Castor3D::Light::SetShadowProducer ( bool  p_value)
inline

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

Paramètres
[in]p_valueLa nouvelle valeur.

Références m_shadowCaster, et OnNodeChanged().

+ Voici le graphe d'appel pour cette fonction :

◆ SetSpecularIntensity()

void Castor3D::Light::SetSpecularIntensity ( float  p_intensity)
inline

Définit l'intensité spéculaire.

Paramètres
[in]p_intensityLa nouvelle valeur.

Références m_category.

◆ Update()

C3D_API void Castor3D::Light::Update ( Castor::Point3r const &  p_target,
Viewport p_viewport,
int32_t  p_index = -1 
)

Met le viewport de la source à jour.

Paramètres
[in]p_targetLa position de la cible, utilisée pour la map d'ombres des source directionnelles.
[in,out]p_viewportLe viewport à mettre à jour.
[in]p_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().


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