Castor3D  ..
Classes | Fonctions membres publiques | Fonctions membres publiques statiques | Amis | Liste de tous les membres
Référence de la classe castor3d::SpotLight

Classe de représentation d'une PointLight. Plus de détails...

+ Graphe d'héritage de castor3d::SpotLight:
+ Graphe de collaboration de castor3d::SpotLight:

Classes

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

Fonctions membres publiques

C3D_API ~SpotLight ()
 Destructeur. Plus de détails...
 
C3D_API void update () override
 Met la source à jour. Plus de détails...
 
C3D_API void updateShadow (castor::Point3r const &target, Viewport &viewport, int32_t index=-1) override
 Met le viewport de la source à jour. Plus de détails...
 
C3D_API std::unique_ptr< LightCategory::TextWritercreateTextWriter (castor::String const &tabs) override
 Crée un TextLoader spécifique à la LightCategory. Plus de détails...
 
C3D_API void setAttenuation (castor::Point3f const &value)
 Définit les composantes d'atténuation. Plus de détails...
 
C3D_API void setExponent (float value)
 Définit l'exposition de la source lumineuse. Plus de détails...
 
C3D_API void setCutOff (castor::Angle const &value)
 Définit l'angle d'ouverture. Plus de détails...
 
castor::Point3f const & getDirection () const
 
castor::Matrix4x4f const & getLightSpaceTransform () const
 
castor::Point3f const & getAttenuation () const
 
float getExponent () const
 
castor::Angle const & getCutOff () const
 
- Fonctions membres publiques hérités de castor3d::LightCategory
virtual C3D_API ~LightCategory ()
 Destructeur. 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 publiques statiques

static C3D_API LightCategoryUPtr create (Light &light)
 Fonction de création utilisée par Factory. Plus de détails...
 
static C3D_API castor::Point3fArray const & generateVertices ()
 

Amis

class Scene
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor3d::LightCategory
C3D_API LightCategory (LightType lightType, Light &light)
 Constructeur. 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 hérités de castor3d::LightCategory
castor::BoundingBox m_cubeBox
 
float m_farPlane { 1.0f }
 

Description détaillée

Classe de représentation d'une PointLight.

Auteur
Sylvain DOREMUS
Version
0.1
Date
09/02/2010
Remarques
Une spot light est une source de lumière à un point donné qui illumine dans une direction donnée en suivant une forme cônique

Documentation des constructeurs et destructeur

◆ ~SpotLight()

C3D_API castor3d::SpotLight::~SpotLight ( )

Destructeur.

Documentation des fonctions membres

◆ create()

static C3D_API LightCategoryUPtr castor3d::SpotLight::create ( Light light)
static

Fonction de création utilisée par Factory.

Renvoie
Une source lumineuse.

◆ createTextWriter()

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

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

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

Implémente castor3d::LightCategory.

Références C3D_API, setAttenuation(), setCutOff(), et setExponent().

+ Voici le graphe d'appel pour cette fonction :

◆ generateVertices()

static C3D_API castor::Point3fArray const& castor3d::SpotLight::generateVertices ( )
static
Renvoie
Les sommets nécessaires au dessin du maillage représentant le volume d'effet de la lumière.

◆ getAttenuation()

castor::Point3f const& castor3d::SpotLight::getAttenuation ( ) const
inline
Renvoie
Les composantes d'attenuation.

◆ getCutOff()

castor::Angle const& castor3d::SpotLight::getCutOff ( ) const
inline
Renvoie
L'angle du cône.

Références C3D_API.

◆ getDirection()

castor::Point3f const& castor3d::SpotLight::getDirection ( ) const
inline
Renvoie
La direction de la source lumineuse.

◆ getExponent()

float castor3d::SpotLight::getExponent ( ) const
inline
Renvoie
La valeur de l'exposant.

◆ getLightSpaceTransform()

castor::Matrix4x4f const& castor3d::SpotLight::getLightSpaceTransform ( ) const
inline
Renvoie
La matrice de transformation de la lumière.

◆ setAttenuation()

C3D_API void castor3d::SpotLight::setAttenuation ( castor::Point3f const &  value)

Définit les composantes d'atténuation.

Paramètres
[in]valueLa nouvelle valeur.

Référencé par createTextWriter().

+ Voici le graphe des appelants de cette fonction :

◆ setCutOff()

C3D_API void castor3d::SpotLight::setCutOff ( castor::Angle const &  value)

Définit l'angle d'ouverture.

Paramètres
[in]valueLa nouvelle valeur.

Référencé par createTextWriter().

+ Voici le graphe des appelants de cette fonction :

◆ setExponent()

C3D_API void castor3d::SpotLight::setExponent ( float  value)

Définit l'exposition de la source lumineuse.

Paramètres
[in]valueLa nouvelle valeur.

Référencé par createTextWriter().

+ Voici le graphe des appelants de cette fonction :

◆ update()

C3D_API void castor3d::SpotLight::update ( )
overridevirtual

Met la source à jour.

Implémente castor3d::LightCategory.

◆ updateShadow()

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

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émente castor3d::LightCategory.

Documentation des fonctions amies et associées

◆ Scene

friend class Scene
friend

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