Castor3D
..
|
Implémentation d'une source lumineuse. Plus de détails...
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 Animation & | GetAnimation (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 Animable & | operator= (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 Animable & | operator= (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 |
Implémentation d'une source lumineuse.
C3D_API Castor3D::Light::Light | ( | Castor::String const & | p_name, |
Scene & | p_scene, | ||
SceneNodeSPtr | p_node, | ||
LightFactory & | p_factory, | ||
LightType | p_lightType | ||
) |
Constructeur.
[in] | p_name | Le nom de la lumière |
[in] | p_scene | La scène parente |
[in] | p_factory | La fabrique de LightCategory |
[in] | p_lightType | Le type de lumière |
[in] | p_node | Le scene node parent |
C3D_API Castor3D::Light::~Light | ( | ) |
Destructeur.
|
overridevirtual |
Attache cette lumière au node donné
[in] | p_node | Le nouveau node parent de cette lumière |
Réimplémentée à partir de Castor3D::MovableObject.
C3D_API void Castor3D::Light::Bind | ( | Castor::PxBufferBase & | p_texture, |
uint32_t | p_index | ||
) |
Met la lumière dans la texture donnée.
[out] | p_texture | La texture recevant les données de la source lumineuse. |
[in] | p_index | L'indice de la source lumineuse. |
|
inline |
|
inline |
|
inline |
Références m_category.
|
inline |
Références m_category.
|
inline |
Références m_category.
|
inline |
Références m_category.
C3D_API DirectionalLightSPtr Castor3D::Light::GetDirectionalLight | ( | ) | const |
Récupère la DirectionalLight.
|
inline |
Références m_category.
|
inline |
C3D_API PointLightSPtr Castor3D::Light::GetPointLight | ( | ) | const |
Récupère la PointLight.
|
inline |
Références m_category.
C3D_API SpotLightSPtr Castor3D::Light::GetSpotLight | ( | ) | const |
Récupère la SpotLight.
|
inline |
|
inline |
Références m_shadowCaster.
|
protected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Définit les valeurs d'intensité.
[in] | p_values | Les nouvelles valeurs. |
Références m_category.
|
inline |
|
inline |
Définit les valeurs d'intensité.
[in] | p_intensity | Les nouvelles valeurs. |
Références m_category.
|
inline |
Définit le statut de projection d'ombre de la lumère.
[in] | p_value | La nouvelle valeur. |
Références m_shadowCaster, et OnNodeChanged().
|
inline |
Définit l'intensité spéculaire.
[in] | p_intensity | La nouvelle valeur. |
Références m_category.
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.
[in] | p_target | La position de la cible, utilisée pour la map d'ombres des source directionnelles. |
[in,out] | p_viewport | Le viewport à mettre à jour. |
[in] | p_index | L'indice de la shadow map de la lumière, -1 si elle n'en a pas. |
|
protected |
la light category contenant les données de la lumière.
Référencé par GetAmbientIntensity(), GetCategory(), GetColour(), GetDiffuseIntensity(), GetIntensity(), GetLightType(), GetSpecularIntensity(), SetAmbientIntensity(), SetColour(), SetDiffuseIntensity(), SetIntensity(), et SetSpecularIntensity().
|
protected |
Dit si la lumière est active ou pas.
Référencé par IsEnabled(), et SetEnabled().
|
protected |
Dit si la lumière projette des ombres.
Référencé par IsShadowProducer(), et SetShadowProducer().