Castor3D
..
|
Contient les composantes d'une lumière. Plus de détails...
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< TextWriter > | createTextWriter (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 |
Light & | getLight () |
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 |
Contient les composantes d'une lumière.
|
explicitprotected |
Constructeur.
[in] | lightType | Le type de catégorie de lumière. |
[in] | light | La Light parente. |
|
virtual |
Destructeur.
C3D_API void castor3d::LightCategory::bind | ( | castor::PxBufferBase & | texture, |
uint32_t | index | ||
) | const |
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. |
|
pure virtual |
Crée un TextLoader spécifique à la LightCategory.
[in] | tabs | Le niveau d'intentation actuel. |
Implémenté dans castor3d::SpotLight, castor3d::PointLight, et castor3d::DirectionalLight.
|
protected |
Copie les valeurs de la composante de lumière donnée dans le tampon.
[in] | components | La composante. |
[in] | index | L'indice de la source lumineuse. |
[in] | offset | Le décalage de la composante. |
[in] | data | Le tampon de destination. |
Référencé par getBoundingBox().
|
protected |
Copie les valeurs de la composante de lumière donnée dans le tampon.
[in] | components | La composante. |
[in] | component | La dernière composante. |
[in] | index | L'indice de la source lumineuse. |
[in] | offset | Le décalage de la composante. |
[in] | data | Le tampon de destination. |
|
protected |
Copie les valeurs de la composante de lumière donnée dans le tampon.
[in] | components | La composante. |
[in] | index | L'indice de la source lumineuse. |
[in] | offset | Le décalage de la composante. |
[in] | data | Le tampon de destination. |
|
protected |
Copie les valeurs de la composante de lumière donnée dans le tampon.
[in] | components | Les composantes. |
[in] | component | La dernière composante. |
[in] | index | L'indice de la source lumineuse. |
[in] | offset | Le décalage de la composante. |
[in] | data | Le tampon de destination. |
|
protected |
Copie les valeurs de la composante de lumière donnée dans le tampon.
[in] | components | La composante. |
[in] | index | L'indice de la source lumineuse. |
[in] | offset | Le décalage de la composante. |
[in] | data | Le tampon de destination. |
|
protected |
Copie les valeurs de la composante de lumière donnée dans le tampon.
[in] | components | La composante. |
[in] | index | L'indice de la source lumineuse. |
[in] | offset | Le décalage de la composante. |
[in] | data | Le tampon de destination. |
|
protected |
Copie les valeurs de la composante de lumière donnée dans le tampon.
[in] | components | La composante. |
[in] | index | L'indice de la source lumineuse. |
[in] | offset | Le décalage de la composante. |
[in] | data | Le tampon de destination. |
|
protected |
Copie les valeurs de la composante de lumière donnée dans le tampon.
[in] | components | La composante. |
[in] | index | L'indice de la source lumineuse. |
[in] | offset | Le décalage de la composante. |
[in] | data | Le tampon de destination. |
|
protected |
Copie les valeurs de la composante de lumière donnée dans le tampon.
[in] | components | La composante. |
[in] | index | L'indice de la source lumineuse. |
[in] | offset | Le décalage de la composante. |
[in] | data | Le tampon de destination. |
|
inline |
Références C3D_API, doCopyComponent(), m_cubeBox, et updateNode().
|
inline |
|
inline |
|
inline |
|
inline |
Références m_farPlane.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Définit la couleur.
[in] | value | La nouvelle valeur. |
|
inline |
Définit l'intensité diffuse.
[in] | value | La nouvelle valeur. |
|
inline |
Définit les valeurs d'intensité.
[in] | value | Les nouvelles valeurs. |
|
inline |
Définit l'intensité spéculaire.
[in] | value | La nouvelle valeur. |
|
pure virtual |
Met la source à jour.
Implémenté dans castor3d::SpotLight, castor3d::PointLight, et castor3d::DirectionalLight.
|
protectedpure virtual |
Met à jour les informations de la source lumineuse, relatives au noeud de scène.
[in] | p_node | Le noeud de scène. |
Référencé par getBoundingBox().
|
pure virtual |
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. |
Implémenté dans castor3d::SpotLight, castor3d::PointLight, et castor3d::DirectionalLight.
|
friend |
|
protected |
La cube box pour le volume d'effet de la lumière.
Référencé par getBoundingBox().
|
protected |
La profondeur du plan éloigné.
Référencé par getFarPlane().