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

C3D_API Pass (Engine &p_engine, MaterialSPtr p_parent=nullptr)
 Constructeur. Plus de détails...
 
C3D_API ~Pass ()
 Destructeur. Plus de détails...
 
C3D_API void Initialise ()
 Initialise la passe et toutes ses dépendances. Plus de détails...
 
C3D_API void Cleanup ()
 Nettoie la passe et toutes ses dépendances. Plus de détails...
 
C3D_API void BindToNode (RenderNode &p_node)
 Lie cette passe au noeud de rendu donné. Plus de détails...
 
C3D_API void BindToNode (SceneRenderNode &p_node)
 Lie cette passe au noeud de rendu donné. Plus de détails...
 
C3D_API void Render ()
 Applique la passe. Plus de détails...
 
C3D_API void Render2D ()
 Applique la passe pour un rendu 2D. Plus de détails...
 
C3D_API void EndRender ()
 Retire la passe du rendu courant. Plus de détails...
 
C3D_API void AddTextureUnit (TextureUnitSPtr p_unit)
 Ajoute une unité de texture. Plus de détails...
 
C3D_API TextureUnitSPtr GetTextureUnit (eTEXTURE_CHANNEL p_channel)
 Récupère la TextureUnit au canal demandé Plus de détails...
 
C3D_API bool DestroyTextureUnit (uint32_t p_index)
 Détruit la TextureUnit à l'index donné Plus de détails...
 
C3D_API TextureUnitSPtr GetTextureUnit (uint32_t p_index) const
 Récupère la TextureUnit à l'index donné Plus de détails...
 
C3D_API Castor::String GetTexturePath (uint32_t p_index)
 Récupère le chemin de l'image de la TextureUnit à l'index donné Plus de détails...
 
C3D_API bool HasAlphaBlending () const
 Dit si la passe a besoin de mélange d'alpha. Plus de détails...
 
C3D_API void Bind ()
 Lie le programme et les textures. Plus de détails...
 
C3D_API void FillShaderVariables (RenderNode &p_node)
 Remplit les variables de shader. Plus de détails...
 
C3D_API void PrepareTextures ()
 Réduit les textures. 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...
 
void SetAlphaBlendMode (eBLEND_MODE p_value)
 Définit le mode de mélange alpha. Plus de détails...
 
void SetColourBlendMode (eBLEND_MODE p_value)
 Définit le mode de mélange couleur. 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...
 
eBLEND_MODE GetAlphaBlendMode () const
 Récupère le mode de mélange alpha. Plus de détails...
 
eBLEND_MODE GetColourBlendMode () const
 Récupère le mode de mélange couleur. 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...
 

Types protégés

typedef std::pair< TextureUnitWPtr, OneIntFrameVariableWPtr > UnitVariablePair
 

Fonctions membres protégées

 DECLARE_MAP (eTEXTURE_CHANNEL, UnitVariablePair, UnitVariableChannel)
 

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...
 
TextureUnitPtrArray m_arrayTextureUnits
 Les textures. Plus de détails...
 
MaterialWPtr m_parent
 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_textureFlags
 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...
 
eBLEND_MODE m_alphaBlendMode
 Le mode de mélange alpha. Plus de détails...
 
eBLEND_MODE m_colourBlendMode
 Le mode de mélange couleur. Plus de détails...
 
bool m_texturesReduced
 Dit si les textures de la passe sont réduites. 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, OneIntFrameVariableWPtr > Castor3D::Pass::UnitVariablePair
protected

Documentation des constructeurs et destructeur

C3D_API Castor3D::Pass::Pass ( Engine p_engine,
MaterialSPtr  p_parent = nullptr 
)

Constructeur.

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

Destructeur.

Documentation des fonctions membres

C3D_API void Castor3D::Pass::AddTextureUnit ( TextureUnitSPtr  p_unit)

Ajoute une unité de texture.

Paramètres
[in]p_unitL'unité de texture.
C3D_API void Castor3D::Pass::Bind ( )

Lie le programme et les textures.

Remarques
Les tampons de variables de frame ne seront as liés. Un appel à FillShaderVariables doit être fait avant le draw call.
C3D_API void Castor3D::Pass::BindToNode ( RenderNode p_node)

Lie cette passe au noeud de rendu donné.

Paramètres
[in]p_nodeLe noeud de rendu.
Renvoie
C3D_API void Castor3D::Pass::BindToNode ( SceneRenderNode p_node)

Lie cette passe au noeud de rendu donné.

Paramètres
[in]p_nodeLe noeud de rendu.
Renvoie
C3D_API void Castor3D::Pass::Cleanup ( )

Nettoie la passe et toutes ses dépendances.

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

Détruit la TextureUnit à l'index donné

Paramètres
[in]p_indexL'index de la TextureUnit à détruire
Renvoie
false si l'index était hors bornes
C3D_API void Castor3D::Pass::EndRender ( )

Retire la passe du rendu courant.

C3D_API void Castor3D::Pass::FillShaderVariables ( RenderNode p_node)

Remplit les variables de shader.

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

Récupère la valeur alpha globale.

Renvoie
La valeur

Références m_fAlpha.

eBLEND_MODE Castor3D::Pass::GetAlphaBlendMode ( ) const
inline

Récupère le mode de mélange alpha.

Renvoie
La valeur

Références m_alphaBlendMode.

Castor::Colour const& Castor3D::Pass::GetAmbient ( ) const
inline

Récupère la couleur ambiante.

Renvoie
La valeur

Références m_clrAmbient.

Castor::Colour& Castor3D::Pass::GetAmbient ( )
inline

Récupère la couleur ambiante.

Renvoie
La valeur

Références m_clrAmbient.

BlendStateSPtr Castor3D::Pass::GetBlendState ( ) const
inline

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

Renvoie
La valeur

Références m_pBlendState.

eBLEND_MODE Castor3D::Pass::GetColourBlendMode ( ) const
inline

Récupère le mode de mélange couleur.

Renvoie
La valeur

Références m_colourBlendMode.

Castor::Colour const& Castor3D::Pass::GetDiffuse ( ) const
inline

Récupère la couleur diffuse.

Renvoie
La valeur

Références m_clrDiffuse.

Castor::Colour& Castor3D::Pass::GetDiffuse ( )
inline

Récupère la couleur diffuse.

Renvoie
La valeur

Références m_clrDiffuse.

Castor::Colour const& Castor3D::Pass::GetEmissive ( ) const
inline

Récupère la couleur émissive.

Renvoie
La valeur

Références m_clrEmissive.

Castor::Colour& Castor3D::Pass::GetEmissive ( )
inline

Récupère la couleur émissive.

Renvoie
La valeur

Références m_arrayTextureUnits, et m_clrEmissive.

MaterialSPtr Castor3D::Pass::GetParent ( ) const
inline

Récupère le matériau parent.

Renvoie
La valeur

Références m_parent.

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

Récupère l'exposant.

Renvoie
La valeur

Références m_fShininess.

Castor::Colour const& Castor3D::Pass::GetSpecular ( ) const
inline

Récupère la couleur spéculaire.

Renvoie
La valeur

Références m_clrSpecular.

Castor::Colour& Castor3D::Pass::GetSpecular ( )
inline

Récupère la couleur spéculaire.

Renvoie
La valeur

Références m_clrSpecular.

uint32_t Castor3D::Pass::GetTextureFlags ( ) const
inline

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

Renvoie
La valeur

Références m_textureFlags.

C3D_API Castor::String Castor3D::Pass::GetTexturePath ( uint32_t  p_index)

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

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

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_channelLe canal
Renvoie
nullptr si pas de TextureUnit au canal voulu
C3D_API TextureUnitSPtr Castor3D::Pass::GetTextureUnit ( uint32_t  p_index) const

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

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

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

Renvoie
La valeur

Références m_arrayTextureUnits.

C3D_API 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

Références m_bAutomaticShader.

C3D_API 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

Références m_bDoubleFace.

C3D_API void Castor3D::Pass::PrepareTextures ( )

Réduit les textures.

C3D_API void Castor3D::Pass::Render ( )

Applique la passe.

C3D_API void Castor3D::Pass::Render2D ( )

Applique la passe pour un rendu 2D.

void Castor3D::Pass::SetAlpha ( float  p_fAlpha)
inline

Définit la valeur alpha globale.

Paramètres
[in]p_fAlphaLa nouvelle valeur

Références m_clrAmbient, m_clrDiffuse, m_clrEmissive, m_clrSpecular, et m_fAlpha.

void Castor3D::Pass::SetAlphaBlendMode ( eBLEND_MODE  p_value)
inline

Définit le mode de mélange alpha.

Paramètres
[in]p_valueLa valeur

Références m_alphaBlendMode.

void Castor3D::Pass::SetAmbient ( Castor::Colour const &  p_clrColour)
inline

Définit la couleur ambiante.

Paramètres
[in]p_clrColourLa nouvelle valeur

Références m_clrAmbient.

void Castor3D::Pass::SetColourBlendMode ( eBLEND_MODE  p_value)
inline

Définit le mode de mélange couleur.

Paramètres
[in]p_valueLa valeur

Références m_colourBlendMode.

void Castor3D::Pass::SetDiffuse ( Castor::Colour const &  p_clrColour)
inline

Définit la couleur diffuse.

Paramètres
[in]p_clrColourLa nouvelle valeur

Références m_clrDiffuse.

void Castor3D::Pass::SetEmissive ( Castor::Colour const &  p_clrColour)
inline

Définit la couleur émissive.

Paramètres
[in]p_clrColourLa nouvelle valeur

Références m_clrEmissive.

void Castor3D::Pass::SetShininess ( float  p_fShininess)
inline

Définit l'exposant.

Paramètres
[in]p_fShininessLa nouvelle valeur

Références m_fShininess.

void Castor3D::Pass::SetSpecular ( Castor::Colour const &  p_clrColour)
inline

Définit la couleur spéculaire.

Paramètres
[in]p_clrColourLa nouvelle valeur

Références m_clrSpecular.

void Castor3D::Pass::SetTwoSided ( bool  p_bDouble)
inline

Définit le statut double face.

Paramètres
[in]p_bDoubleLa nouvelle valeur

Références m_bDoubleFace.

Documentation des fonctions amies et associées

friend class Material
friend

Documentation des données membres

eBLEND_MODE Castor3D::Pass::m_alphaBlendMode
protected

Le mode de mélange alpha.

Référencé par GetAlphaBlendMode(), et SetAlphaBlendMode().

TextureUnitPtrArray Castor3D::Pass::m_arrayTextureUnits
protected

Les textures.

Référencé par GetEmissive(), et GetTextureUnitsCount().

bool Castor3D::Pass::m_bAutomaticShader
protected

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

Référencé par HasAutomaticShader().

bool Castor3D::Pass::m_bDoubleFace
protected

Dit si la passe est sur 2 faces.

Référencé par IsTwoSided(), et SetTwoSided().

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

La couleur ambiante.

Référencé par GetAmbient(), SetAlpha(), et SetAmbient().

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

La couleur diffuse.

Référencé par GetDiffuse(), SetAlpha(), et SetDiffuse().

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

La couleur émissive.

Référencé par GetEmissive(), SetAlpha(), et SetEmissive().

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

La couleur spéculaire.

Référencé par GetSpecular(), SetAlpha(), et SetSpecular().

eBLEND_MODE Castor3D::Pass::m_colourBlendMode
protected

Le mode de mélange couleur.

Référencé par GetColourBlendMode(), et SetColourBlendMode().

float Castor3D::Pass::m_fAlpha
protected

L'alpha.

Référencé par GetAlpha(), et SetAlpha().

float Castor3D::Pass::m_fShininess
protected

L'exposant.

Référencé par GetShininess(), et SetShininess().

UnitVariableChannelMap Castor3D::Pass::m_mapUnits
protected

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

MaterialWPtr Castor3D::Pass::m_parent
protected

Le materiau parent.

Référencé par GetParent().

BlendStateSPtr Castor3D::Pass::m_pBlendState
protected

Etats de blend.

Référencé par GetBlendState().

uint32_t Castor3D::Pass::m_textureFlags
protected

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

Référencé par GetTextureFlags().

bool Castor3D::Pass::m_texturesReduced
protected

Dit si les textures de la passe sont réduites.


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