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 &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 Animation & | getAnimation (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 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 |
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 |
Implémentation d'une source lumineuse.
C3D_API castor3d::Light::Light | ( | castor::String const & | name, |
Scene & | scene, | ||
SceneNodeSPtr | node, | ||
LightFactory & | factory, | ||
LightType | lightType | ||
) |
Constructeur.
[in] | name | Le nom de la lumière. |
[in] | scene | La scène parente. |
[in] | node | Le scene node parent. |
[in] | factory | La fabrique de LightCategory. |
[in] | lightType | Le type de lumière. |
C3D_API castor3d::Light::~Light | ( | ) |
Destructeur.
|
overridevirtual |
Attache cette lumière au node donné.
[in] | 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 & | texture, |
uint32_t | index | ||
) |
Met la lumière dans la texture donnée.
[out] | texture | La texture recevant les données de la source lumineuse. |
[in] | 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éférencé par castor3d::LightPassShadowTraits< LightType::eDirectional >::getTypedLight().
|
inline |
Références m_category.
|
inline |
Références m_category.
|
inline |
Références m_category.
C3D_API PointLightSPtr castor3d::Light::getPointLight | ( | ) | const |
Référencé par castor3d::LightPassShadowTraits< LightType::ePoint >::getTypedLight().
|
inline |
Références m_shadowMap.
|
inline |
Références m_category.
C3D_API SpotLightSPtr castor3d::Light::getSpotLight | ( | ) | const |
Référencé par castor3d::LightPassShadowTraits< LightType::eSpot >::getTypedLight().
|
inline |
Références m_enabled.
|
inline |
Références m_shadowCaster.
|
protected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Définit la texture d'ombres de la lumière.
[in] | value | La nouvelle valeur. |
Références m_shadowMap.
|
inline |
Définit le statut de projection d'ombre de la lumère.
[in] | value | La nouvelle valeur. |
Références m_shadowCaster.
|
inline |
C3D_API void castor3d::Light::update | ( | ) |
Met la source à jour.
C3D_API void castor3d::Light::updateShadow | ( | castor::Point3r const & | target, |
Viewport & | viewport, | ||
int32_t | index = -1 |
||
) |
Met le viewport de la source à jour.
[in] | target | La position de la cible, utilisée pour la map d'ombres des source directionnelles. |
[in,out] | viewport | Le viewport à mettre à jour. |
[in] | 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 getBoundingBox(), getCategory(), getColour(), getDiffuseIntensity(), getFarPlane(), getIntensity(), getLightType(), getSpecularIntensity(), 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().
|
protected |
La texture d'ombres.
Référencé par getShadowMap(), et setShadowMap().
OnLightChanged castor3d::Light::onChanged |