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

Définition d'une passe d'un matériau. Plus de détails...

+ Graphe d'héritage de Castor3D::Pass:
+ Graphe de collaboration de Castor3D::Pass:

Classes

class  BinaryParser
 Loader de Pass. Plus de détails...
 
class  TextLoader
 Loader de Pass. Plus de détails...
 

Fonctions membres publiques

 Pass (Engine *p_pEngine, MaterialSPtr p_pParent=nullptr)
 Constructeur. Plus de détails...
 
 ~Pass ()
 Destructeur. Plus de détails...
 
void Initialise ()
 Initialise la passe et toutes ses dépendances. Plus de détails...
 
void Cleanup ()
 Nettoie la passe et toutes ses dépendances. Plus de détails...
 
void BindToProgram (ShaderProgramBaseSPtr p_pProgram)
 Lie cette passe au programme donné Plus de détails...
 
virtual void Render (uint8_t p_byIndex, uint8_t p_byCount)
 Applique la passe. Plus de détails...
 
virtual void Render2D (uint8_t p_byIndex, uint8_t p_byCount)
 Applique la passe pour un rendu 2D. Plus de détails...
 
virtual void EndRender ()
 Retire la passe du rendu courant. Plus de détails...
 
TextureUnitSPtr AddTextureUnit ()
 Crée et ajoute une unité de texture. Plus de détails...
 
TextureUnitSPtr GetTextureUnit (eTEXTURE_CHANNEL p_eChannel)
 Récupère la TextureUnit au canal demandé Plus de détails...
 
bool DestroyTextureUnit (uint32_t p_uiIndex)
 Détruit la TextureUnit à l'index donné Plus de détails...
 
TextureUnitSPtr GetTextureUnit (uint32_t p_uiIndex) const
 Récupère la TextureUnit à l'index donné Plus de détails...
 
Castor::String GetTexturePath (uint32_t p_uiIndex)
 Récupère le chemin de l'image de la TextureUnit à l'index donné Plus de détails...
 
void SetShader (ShaderProgramBaseSPtr p_pProgram)
 Définit le shader. Plus de détails...
 
template<typename T >
std::shared_ptr< T > GetShader () const
 Récupère le shader. Plus de détails...
 
bool HasShader () const
 Dit si la passe a un shader. Plus de détails...
 
uint32_t GetTextureFlags () const
 Récupère la combinaison d'indicateurs de canal de texture. Plus de détails...
 
bool HasAutomaticShader () const
 Dit si le shader de la passe est généré automatiquement ou pas. Plus de détails...
 
void SetDiffuse (Castor::Colour const &p_clrColour)
 Définit la couleur diffuse. Plus de détails...
 
void SetAmbient (Castor::Colour const &p_clrColour)
 Définit la couleur ambiante. Plus de détails...
 
void SetSpecular (Castor::Colour const &p_clrColour)
 Définit la couleur spéculaire. Plus de détails...
 
void SetEmissive (Castor::Colour const &p_clrColour)
 Définit la couleur émissive. Plus de détails...
 
void SetShininess (float p_fShininess)
 Définit l'exposant. Plus de détails...
 
void SetTwoSided (bool p_bDouble)
 Définit le statut double face. Plus de détails...
 
void SetAlpha (float p_fAlpha)
 Définit la valeur alpha globale. Plus de détails...
 
BlendStateSPtr GetBlendState () const
 Récupère l'état de mélange. Plus de détails...
 
float GetShininess () const
 Récupère l'exposant. Plus de détails...
 
uint32_t GetTextureUnitsCount () const
 Récupère le nombre d'unités de texture. Plus de détails...
 
bool IsTwoSided () const
 
MaterialSPtr GetParent () const
 Récupère le matériau parent. Plus de détails...
 
float GetAlpha () const
 Récupère la valeur alpha globale. Plus de détails...
 
Castor::Colour const & GetDiffuse () const
 Récupère la couleur diffuse. Plus de détails...
 
Castor::Colour const & GetAmbient () const
 Récupère la couleur ambiante. Plus de détails...
 
Castor::Colour const & GetSpecular () const
 Récupère la couleur spéculaire. Plus de détails...
 
Castor::Colour const & GetEmissive () const
 Récupère la couleur émissive. Plus de détails...
 
Castor::Colour & GetDiffuse ()
 Récupère la couleur diffuse. Plus de détails...
 
Castor::Colour & GetAmbient ()
 Récupère la couleur ambiante. Plus de détails...
 
Castor::Colour & GetSpecular ()
 Récupère la couleur spéculaire. Plus de détails...
 
Castor::Colour & GetEmissive ()
 Récupère la couleur émissive. Plus de détails...
 
bool HasAlphaBlending () const
 Dit si la passe a besoin de mélange d'alpha. Plus de détails...
 
TextureUnitPtrArrayConstIt Begin () const
 Récupère un itérateur constant sur le début du tableau de textures. Plus de détails...
 
TextureUnitPtrArrayIt Begin ()
 Récupère un itérateur sur le début du tableau de textures. Plus de détails...
 
TextureUnitPtrArrayConstIt End () const
 Récupère un itérateur constant sur la fin du tableau de textures. Plus de détails...
 
TextureUnitPtrArrayIt End ()
 Récupère un itérateur sur la fin du tableau de textures. Plus de détails...
 
- Fonctions membres publiques hérités de Castor3D::Renderable< Pass, PassRenderer >
virtual ~Renderable ()
 Destructeur. Plus de détails...
 
virtual void Render ()
 Fonction de rendu, à implémenter par les classes filles. Plus de détails...
 
virtual void Render2D ()
 
renderer_sptr GetRenderer () const
 Récupère le Renderer. Plus de détails...
 
virtual EngineGetEngine () const
 Récupère l'Engine. Plus de détails...
 

Types protégés

typedef std::pair
< TextureUnitWPtr,
OneTextureFrameVariableWPtr > 
UnitVariablePair
 

Fonctions membres protégées

 DECLARE_MAP (eTEXTURE_CHANNEL, UnitVariablePair, UnitVariableChannel)
 
- Fonctions membres protégées hérités de Castor3D::Renderable< Pass, PassRenderer >
 Renderable (Engine *p_pEngine)
 Constructeur. Plus de détails...
 
 Renderable (Renderable< Pass, PassRenderer > const &p_copy)
 Constructeur par copie. Plus de détails...
 
 Renderable (Renderable< Pass, PassRenderer > &&p_copy)
 Constructeur par déplacement. Plus de détails...
 
Renderableoperator= (Renderable< Pass, PassRenderer > const &p_copy)
 Opérateur d'affectation par copie. Plus de détails...
 
Renderableoperator= (Renderable< Pass, PassRenderer > &&p_copy)
 Opérateur d'affectation par déplacement. Plus de détails...
 

Attributs protégés

Castor::Colour m_clrDiffuse
 La couleur diffuse. Plus de détails...
 
Castor::Colour m_clrAmbient
 La couleur ambiante. Plus de détails...
 
Castor::Colour m_clrSpecular
 La couleur spéculaire. Plus de détails...
 
Castor::Colour m_clrEmissive
 La couleur émissive. Plus de détails...
 
float m_fShininess
 L'exposant. Plus de détails...
 
float m_fAlpha
 L'alpha. Plus de détails...
 
bool m_bDoubleFace
 Dit si la passe est sur 2 faces. Plus de détails...
 
ShaderProgramBaseWPtr m_pShaderProgram
 Le programme de shader. Plus de détails...
 
TextureUnitPtrArray m_arrayTextureUnits
 Les textures. Plus de détails...
 
MaterialWPtr m_pParent
 Le materiau parent. Plus de détails...
 
UnitVariableChannelMap m_mapUnits
 Les variables de shader avec les unités de texture associées, triées par canal. Plus de détails...
 
BlendStateSPtr m_pBlendState
 Etats de blend. Plus de détails...
 
uint32_t m_uiTextureFlags
 Combinaison des eTEXTURE_CHANNEL affectés à une texture pour cette passe. Plus de détails...
 
bool m_bAutomaticShader
 Dit que le shader de la passe a été généré automatiquement. Plus de détails...
 
- Attributs protégés hérités de Castor3D::Renderable< Pass, PassRenderer >
renderer_wptr m_pRenderer
 Le renderer. Plus de détails...
 
Enginem_pEngine
 Le moteur. Plus de détails...
 

Amis

class Material
 

Description détaillée

Définition d'une passe d'un matériau.

Auteur
Sylvain DOREMUS
Version
0.1
Date
09/02/2010
Remarques
Une passe est composé de : couleurs (ambiante, diffuse, spéculaire, émissive), exposant, textures, programme de shader

Documentation des définitions de type membres

typedef std::pair< TextureUnitWPtr, OneTextureFrameVariableWPtr > Castor3D::Pass::UnitVariablePair
protected

Documentation des constructeurs et destructeur

Castor3D::Pass::Pass ( Engine p_pEngine,
MaterialSPtr  p_pParent = nullptr 
)

Constructeur.

Remarques
A ne pas utiliser autrement que via la classe Material
Paramètres
[in]p_pEngineLe moteur
[in]p_pParentLe matériau parent
Castor3D::Pass::~Pass ( )

Destructeur.

Documentation des fonctions membres

TextureUnitSPtr Castor3D::Pass::AddTextureUnit ( )

Crée et ajoute une unité de texture.

TextureUnitPtrArrayConstIt Castor3D::Pass::Begin ( ) const
inline

Récupère un itérateur constant sur le début du tableau de textures.

Renvoie
L'itérateur
TextureUnitPtrArrayIt Castor3D::Pass::Begin ( )
inline

Récupère un itérateur sur le début du tableau de textures.

Renvoie
L'itérateur
void Castor3D::Pass::BindToProgram ( ShaderProgramBaseSPtr  p_pProgram)

Lie cette passe au programme donné

Remarques
Récupère les variables uniformes, définit leur valeur.
Ne fait rien si le programme donné ets le même que celui actuellement lié
Paramètres
[in]p_pProgramLe programme
Renvoie
void Castor3D::Pass::Cleanup ( )

Nettoie la passe et toutes ses dépendances.

Castor3D::Pass::DECLARE_MAP ( eTEXTURE_CHANNEL  ,
UnitVariablePair  ,
UnitVariableChannel   
)
protected
bool Castor3D::Pass::DestroyTextureUnit ( uint32_t  p_uiIndex)

Détruit la TextureUnit à l'index donné

Paramètres
[in]p_uiIndexL'index de la TextureUnit à détruire
Renvoie
false si l'index était hors bornes
TextureUnitPtrArrayConstIt Castor3D::Pass::End ( ) const
inline

Récupère un itérateur constant sur la fin du tableau de textures.

Renvoie
L'itérateur
TextureUnitPtrArrayIt Castor3D::Pass::End ( )
inline

Récupère un itérateur sur la fin du tableau de textures.

Renvoie
L'itérateur
virtual void Castor3D::Pass::EndRender ( )
virtual

Retire la passe du rendu courant.

Réimplémentée à partir de Castor3D::Renderable< Pass, PassRenderer >.

float Castor3D::Pass::GetAlpha ( ) const
inline

Récupère la valeur alpha globale.

Renvoie
La valeur
Castor::Colour const& Castor3D::Pass::GetAmbient ( ) const
inline

Récupère la couleur ambiante.

Renvoie
La valeur
Castor::Colour& Castor3D::Pass::GetAmbient ( )
inline

Récupère la couleur ambiante.

Renvoie
La valeur
BlendStateSPtr Castor3D::Pass::GetBlendState ( ) const
inline

Récupère l'état de mélange.

Renvoie
La valeur
Castor::Colour const& Castor3D::Pass::GetDiffuse ( ) const
inline

Récupère la couleur diffuse.

Renvoie
La valeur
Castor::Colour& Castor3D::Pass::GetDiffuse ( )
inline

Récupère la couleur diffuse.

Renvoie
La valeur
Castor::Colour const& Castor3D::Pass::GetEmissive ( ) const
inline

Récupère la couleur émissive.

Renvoie
La valeur
Castor::Colour& Castor3D::Pass::GetEmissive ( )
inline

Récupère la couleur émissive.

Renvoie
La valeur
MaterialSPtr Castor3D::Pass::GetParent ( ) const
inline

Récupère le matériau parent.

Renvoie
La valeur
template<typename T >
std::shared_ptr<T> Castor3D::Pass::GetShader ( ) const
inline

Récupère le shader.

Renvoie
nullptr si aucun
float Castor3D::Pass::GetShininess ( ) const
inline

Récupère l'exposant.

Renvoie
La valeur
Castor::Colour const& Castor3D::Pass::GetSpecular ( ) const
inline

Récupère la couleur spéculaire.

Renvoie
La valeur
Castor::Colour& Castor3D::Pass::GetSpecular ( )
inline

Récupère la couleur spéculaire.

Renvoie
La valeur
uint32_t Castor3D::Pass::GetTextureFlags ( ) const
inline

Récupère la combinaison d'indicateurs de canal de texture.

Renvoie
La valeur
Castor::String Castor3D::Pass::GetTexturePath ( uint32_t  p_uiIndex)

Récupère le chemin de l'image de la TextureUnit à l'index donné

Paramètres
[in]p_uiIndexL'index voulu
Renvoie
Le chemin, vide si aucun
TextureUnitSPtr Castor3D::Pass::GetTextureUnit ( eTEXTURE_CHANNEL  p_eChannel)

Récupère la TextureUnit au canal demandé

Remarques
Si plus d'une TextureUnit est trouvée pour le canal demandé, la première est retournée
Paramètres
[in]p_eChannelLe canal
Renvoie
nullptr si pas de TextureUnit au canal voulu
TextureUnitSPtr Castor3D::Pass::GetTextureUnit ( uint32_t  p_uiIndex) const

Récupère la TextureUnit à l'index donné

Paramètres
[in]p_uiIndexL'index voulu
Renvoie
La TextureUnit récupérée, nullptr si p_uiIndex était hors bornes
uint32_t Castor3D::Pass::GetTextureUnitsCount ( ) const
inline

Récupère le nombre d'unités de texture.

Renvoie
La valeur
bool Castor3D::Pass::HasAlphaBlending ( ) const

Dit si la passe a besoin de mélange d'alpha.

Renvoie
true si au moins une unité de texture a un canal alpha
bool Castor3D::Pass::HasAutomaticShader ( ) const
inline

Dit si le shader de la passe est généré automatiquement ou pas.

Renvoie
La valeur
bool Castor3D::Pass::HasShader ( ) const

Dit si la passe a un shader.

Renvoie
true si le programme a été défini, false sinon
void Castor3D::Pass::Initialise ( )

Initialise la passe et toutes ses dépendances.

bool Castor3D::Pass::IsTwoSided ( ) const
inline
Remarques
Dit si la passe est double face
virtual void Castor3D::Pass::Render ( uint8_t  p_byIndex,
uint8_t  p_byCount 
)
virtual

Applique la passe.

Paramètres
[in]p_byIndexL'index de la passe
[in]p_byCountLe compte des passes du material
virtual void Castor3D::Pass::Render2D ( uint8_t  p_byIndex,
uint8_t  p_byCount 
)
virtual

Applique la passe pour un rendu 2D.

Paramètres
[in]p_byIndexL'index de la passe
[in]p_byCountLe compte des passes du material
void Castor3D::Pass::SetAlpha ( float  p_fAlpha)
inline

Définit la valeur alpha globale.

Paramètres
[in]p_fAlphaLa nouvelle valeur
void Castor3D::Pass::SetAmbient ( Castor::Colour const &  p_clrColour)
inline

Définit la couleur ambiante.

Paramètres
[in]p_clrColourLa nouvelle valeur
void Castor3D::Pass::SetDiffuse ( Castor::Colour const &  p_clrColour)
inline

Définit la couleur diffuse.

Paramètres
[in]p_clrColourLa nouvelle valeur
void Castor3D::Pass::SetEmissive ( Castor::Colour const &  p_clrColour)
inline

Définit la couleur émissive.

Paramètres
[in]p_clrColourLa nouvelle valeur
void Castor3D::Pass::SetShader ( ShaderProgramBaseSPtr  p_pProgram)

Définit le shader.

Paramètres
[in]p_pProgramLe programme
void Castor3D::Pass::SetShininess ( float  p_fShininess)
inline

Définit l'exposant.

Paramètres
[in]p_fShininessLa nouvelle valeur
void Castor3D::Pass::SetSpecular ( Castor::Colour const &  p_clrColour)
inline

Définit la couleur spéculaire.

Paramètres
[in]p_clrColourLa nouvelle valeur
void Castor3D::Pass::SetTwoSided ( bool  p_bDouble)
inline

Définit le statut double face.

Paramètres
[in]p_bDoubleLa nouvelle valeur

Documentation des fonctions amies et associées

friend class Material
friend

Documentation des données membres

TextureUnitPtrArray Castor3D::Pass::m_arrayTextureUnits
protected

Les textures.

bool Castor3D::Pass::m_bAutomaticShader
protected

Dit que le shader de la passe a été généré automatiquement.

bool Castor3D::Pass::m_bDoubleFace
protected

Dit si la passe est sur 2 faces.

Castor::Colour Castor3D::Pass::m_clrAmbient
protected

La couleur ambiante.

Castor::Colour Castor3D::Pass::m_clrDiffuse
protected

La couleur diffuse.

Castor::Colour Castor3D::Pass::m_clrEmissive
protected

La couleur émissive.

Castor::Colour Castor3D::Pass::m_clrSpecular
protected

La couleur spéculaire.

float Castor3D::Pass::m_fAlpha
protected

L'alpha.

float Castor3D::Pass::m_fShininess
protected

L'exposant.

UnitVariableChannelMap Castor3D::Pass::m_mapUnits
protected

Les variables de shader avec les unités de texture associées, triées par canal.

BlendStateSPtr Castor3D::Pass::m_pBlendState
protected

Etats de blend.

MaterialWPtr Castor3D::Pass::m_pParent
protected

Le materiau parent.

ShaderProgramBaseWPtr Castor3D::Pass::m_pShaderProgram
protected

Le programme de shader.

uint32_t Castor3D::Pass::m_uiTextureFlags
protected

Combinaison des eTEXTURE_CHANNEL affectés à une texture pour cette passe.


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