Castor3D  ..
Classes | Fonctions membres publiques | Fonctions membres protégées | Attributs protégés | Amis | Liste de tous les membres
Référence de la classe castor3d::LightCategoryabstract

Contient les composantes d'une lumière. Plus de détails...

+ Graphe d'héritage de castor3d::LightCategory:

Classes

class  TextWriter
 Loader de LightCategory. Plus de détails...
 

Fonctions membres publiques

virtual C3D_API ~LightCategory ()
 Destructeur. Plus de détails...
 
virtual C3D_API void update ()=0
 Met la source à jour. Plus de détails...
 
virtual C3D_API void updateShadow (castor::Point3r const &target, Viewport &viewport, int32_t index=-1)=0
 Met le viewport de la source à jour. Plus de détails...
 
virtual C3D_API std::unique_ptr< TextWritercreateTextWriter (castor::String const &tabs)=0
 Crée un TextLoader spécifique à la LightCategory. Plus de détails...
 
C3D_API void bind (castor::PxBufferBase &texture, uint32_t index) const
 Met la lumière dans la texture donnée. Plus de détails...
 
void setColour (castor::Point3f const &value)
 Définit la couleur. 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...
 
LightType getLightType () const
 
float getDiffuseIntensity () const
 
float getSpecularIntensity () const
 
castor::Point2f const & getIntensity () const
 
castor::Point2f & getIntensity ()
 
float getFarPlane () const
 
castor::Point3f const & getColour () const
 
castor::Point3f & getColour ()
 
Light const & getLight () const
 
LightgetLight ()
 
castor::BoundingBox const & getBoundingBox () const
 

Fonctions membres protégées

C3D_API LightCategory (LightType lightType, Light &light)
 Constructeur. Plus de détails...
 
virtual C3D_API void updateNode (SceneNode const &p_node)=0
 Met à jour les informations de la source lumineuse, relatives au noeud de scène. Plus de détails...
 
void doCopyComponent (castor::Point2f const &components, uint32_t index, uint32_t &offset, castor::PxBufferBase &data) const
 Copie les valeurs de la composante de lumière donnée dans le tampon. Plus de détails...
 
void doCopyComponent (castor::Point2f const &components, float component, uint32_t index, uint32_t &offset, castor::PxBufferBase &data) const
 Copie les valeurs de la composante de lumière donnée dans le tampon. Plus de détails...
 
void doCopyComponent (castor::Point3f const &components, uint32_t index, uint32_t &offset, castor::PxBufferBase &data) const
 Copie les valeurs de la composante de lumière donnée dans le tampon. Plus de détails...
 
void doCopyComponent (castor::Point3f const &components, float component, uint32_t index, uint32_t &offset, castor::PxBufferBase &data) const
 Copie les valeurs de la composante de lumière donnée dans le tampon. Plus de détails...
 
void doCopyComponent (castor::Point4f const &components, uint32_t index, uint32_t &offset, castor::PxBufferBase &data) const
 Copie les valeurs de la composante de lumière donnée dans le tampon. Plus de détails...
 
void doCopyComponent (castor::ConstCoords4f const &components, uint32_t index, uint32_t &offset, castor::PxBufferBase &data) const
 Copie les valeurs de la composante de lumière donnée dans le tampon. Plus de détails...
 
void doCopyComponent (castor::Coords4f const &components, uint32_t index, uint32_t &offset, castor::PxBufferBase &data) const
 Copie les valeurs de la composante de lumière donnée dans le tampon. Plus de détails...
 
void doCopyComponent (castor::Matrix4x4f const &components, uint32_t index, uint32_t &offset, castor::PxBufferBase &data) const
 Copie les valeurs de la composante de lumière donnée dans le tampon. Plus de détails...
 
void doCopyComponent (int32_t const &components, uint32_t index, uint32_t &offset, castor::PxBufferBase &data) const
 Copie les valeurs de la composante de lumière donnée dans le tampon. Plus de détails...
 

Attributs protégés

castor::BoundingBox m_cubeBox
 
float m_farPlane { 1.0f }
 

Amis

class Light
 

Description détaillée

Contient les composantes d'une lumière.

Auteur
Sylvain DOREMUS
Date
14/02/2010
Remarques
Dérivée en DirectionalLight, PointLight et SpotLight

Documentation des constructeurs et destructeur

◆ LightCategory()

C3D_API castor3d::LightCategory::LightCategory ( LightType  lightType,
Light light 
)
explicitprotected

Constructeur.

Paramètres
[in]lightTypeLe type de catégorie de lumière.
[in]lightLa Light parente.

◆ ~LightCategory()

virtual C3D_API castor3d::LightCategory::~LightCategory ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ bind()

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

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.

◆ createTextWriter()

virtual C3D_API std::unique_ptr< TextWriter > castor3d::LightCategory::createTextWriter ( castor::String const &  tabs)
pure virtual

Crée un TextLoader spécifique à la LightCategory.

Paramètres
[in]tabsLe niveau d'intentation actuel.
Renvoie
Le TextLoader.

Implémenté dans castor3d::SpotLight, castor3d::PointLight, et castor3d::DirectionalLight.

◆ doCopyComponent() [1/9]

void castor3d::LightCategory::doCopyComponent ( castor::Point2f const &  components,
uint32_t  index,
uint32_t &  offset,
castor::PxBufferBase &  data 
) const
protected

Copie les valeurs de la composante de lumière donnée dans le tampon.

Paramètres
[in]componentsLa composante.
[in]indexL'indice de la source lumineuse.
[in]offsetLe décalage de la composante.
[in]dataLe tampon de destination.

Référencé par getBoundingBox().

+ Voici le graphe des appelants de cette fonction :

◆ doCopyComponent() [2/9]

void castor3d::LightCategory::doCopyComponent ( castor::Point2f const &  components,
float  component,
uint32_t  index,
uint32_t &  offset,
castor::PxBufferBase &  data 
) const
protected

Copie les valeurs de la composante de lumière donnée dans le tampon.

Paramètres
[in]componentsLa composante.
[in]componentLa dernière composante.
[in]indexL'indice de la source lumineuse.
[in]offsetLe décalage de la composante.
[in]dataLe tampon de destination.

◆ doCopyComponent() [3/9]

void castor3d::LightCategory::doCopyComponent ( castor::Point3f const &  components,
uint32_t  index,
uint32_t &  offset,
castor::PxBufferBase &  data 
) const
protected

Copie les valeurs de la composante de lumière donnée dans le tampon.

Paramètres
[in]componentsLa composante.
[in]indexL'indice de la source lumineuse.
[in]offsetLe décalage de la composante.
[in]dataLe tampon de destination.

◆ doCopyComponent() [4/9]

void castor3d::LightCategory::doCopyComponent ( castor::Point3f const &  components,
float  component,
uint32_t  index,
uint32_t &  offset,
castor::PxBufferBase &  data 
) const
protected

Copie les valeurs de la composante de lumière donnée dans le tampon.

Paramètres
[in]componentsLes composantes.
[in]componentLa dernière composante.
[in]indexL'indice de la source lumineuse.
[in]offsetLe décalage de la composante.
[in]dataLe tampon de destination.

◆ doCopyComponent() [5/9]

void castor3d::LightCategory::doCopyComponent ( castor::Point4f const &  components,
uint32_t  index,
uint32_t &  offset,
castor::PxBufferBase &  data 
) const
protected

Copie les valeurs de la composante de lumière donnée dans le tampon.

Paramètres
[in]componentsLa composante.
[in]indexL'indice de la source lumineuse.
[in]offsetLe décalage de la composante.
[in]dataLe tampon de destination.

◆ doCopyComponent() [6/9]

void castor3d::LightCategory::doCopyComponent ( castor::ConstCoords4f const &  components,
uint32_t  index,
uint32_t &  offset,
castor::PxBufferBase &  data 
) const
protected

Copie les valeurs de la composante de lumière donnée dans le tampon.

Paramètres
[in]componentsLa composante.
[in]indexL'indice de la source lumineuse.
[in]offsetLe décalage de la composante.
[in]dataLe tampon de destination.

◆ doCopyComponent() [7/9]

void castor3d::LightCategory::doCopyComponent ( castor::Coords4f const &  components,
uint32_t  index,
uint32_t &  offset,
castor::PxBufferBase &  data 
) const
protected

Copie les valeurs de la composante de lumière donnée dans le tampon.

Paramètres
[in]componentsLa composante.
[in]indexL'indice de la source lumineuse.
[in]offsetLe décalage de la composante.
[in]dataLe tampon de destination.

◆ doCopyComponent() [8/9]

void castor3d::LightCategory::doCopyComponent ( castor::Matrix4x4f const &  components,
uint32_t  index,
uint32_t &  offset,
castor::PxBufferBase &  data 
) const
protected

Copie les valeurs de la composante de lumière donnée dans le tampon.

Paramètres
[in]componentsLa composante.
[in]indexL'indice de la source lumineuse.
[in]offsetLe décalage de la composante.
[in]dataLe tampon de destination.

◆ doCopyComponent() [9/9]

void castor3d::LightCategory::doCopyComponent ( int32_t const &  components,
uint32_t  index,
uint32_t &  offset,
castor::PxBufferBase &  data 
) const
protected

Copie les valeurs de la composante de lumière donnée dans le tampon.

Paramètres
[in]componentsLa composante.
[in]indexL'indice de la source lumineuse.
[in]offsetLe décalage de la composante.
[in]dataLe tampon de destination.

◆ getBoundingBox()

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

Références C3D_API, doCopyComponent(), m_cubeBox, et updateNode().

+ Voici le graphe d'appel pour cette fonction :

◆ getColour() [1/2]

castor::Point3f const& castor3d::LightCategory::getColour ( ) const
inline
Renvoie
La couleur.

◆ getColour() [2/2]

castor::Point3f& castor3d::LightCategory::getColour ( )
inline
Renvoie
La couleur.

◆ getDiffuseIntensity()

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

◆ getFarPlane()

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

Références m_farPlane.

◆ getIntensity() [1/2]

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

◆ getIntensity() [2/2]

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

◆ getLight() [1/2]

Light const& castor3d::LightCategory::getLight ( ) const
inline
Renvoie
La lumière parente.

◆ getLight() [2/2]

Light& castor3d::LightCategory::getLight ( )
inline
Renvoie
La lumière parente.

◆ getLightType()

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

◆ getSpecularIntensity()

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

◆ setColour()

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

Définit la couleur.

Paramètres
[in]valueLa nouvelle valeur.

◆ setDiffuseIntensity()

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

Définit l'intensité diffuse.

Paramètres
[in]valueLa nouvelle valeur.

◆ setIntensity()

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

Définit les valeurs d'intensité.

Paramètres
[in]valueLes nouvelles valeurs.

◆ setSpecularIntensity()

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

Définit l'intensité spéculaire.

Paramètres
[in]valueLa nouvelle valeur.

◆ update()

virtual C3D_API void castor3d::LightCategory::update ( )
pure virtual

Met la source à jour.

Implémenté dans castor3d::SpotLight, castor3d::PointLight, et castor3d::DirectionalLight.

◆ updateNode()

virtual C3D_API void castor3d::LightCategory::updateNode ( SceneNode const &  p_node)
protectedpure virtual

Met à jour les informations de la source lumineuse, relatives au noeud de scène.

Paramètres
[in]p_nodeLe noeud de scène.

Référencé par getBoundingBox().

+ Voici le graphe des appelants de cette fonction :

◆ updateShadow()

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

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.

Implémenté dans castor3d::SpotLight, castor3d::PointLight, et castor3d::DirectionalLight.

Documentation des fonctions amies et associées

◆ Light

friend class Light
friend

Documentation des données membres

◆ m_cubeBox

castor::BoundingBox castor3d::LightCategory::m_cubeBox
protected

La cube box pour le volume d'effet de la lumière.

Référencé par getBoundingBox().

◆ m_farPlane

float castor3d::LightCategory::m_farPlane { 1.0f }
protected

La profondeur du plan éloigné.

Référencé par getFarPlane().


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