Castor3D  ..
Classes | Fonctions membres publiques | Fonctions membres protégées | Liste de tous les membres
Référence de la classe Castor3D::Passabstract

Classe de base 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  TextWriter
 Loader de Pass. Plus de détails...
 

Fonctions membres publiques

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 BindTextures ()
 Active les textures de la passe. Plus de détails...
 
C3D_API void UnbindTextures ()
 Désactive les textures de la passe. Plus de détails...
 
C3D_API void AddTextureUnit (TextureUnitSPtr p_unit)
 Ajoute une unité de texture. Plus de détails...
 
C3D_API TextureUnitSPtr GetTextureUnit (TextureChannel p_channel) const
 Récupère la TextureUnit au canal demandé. Plus de détails...
 
C3D_API void 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 bool HasAlphaBlending () const
 Dit si la passe a besoin de mélange d'alpha. Plus de détails...
 
C3D_API void UpdateRenderNode (PassRenderNodeUniforms &p_node) const
 Remplit les variables de shader du noeud de rendu donné. Plus de détails...
 
C3D_API void PrepareTextures ()
 Réduit les textures. Plus de détails...
 
C3D_API MaterialType GetType () const
 
C3D_API void SetOpacity (float p_value)
 Définit la valeur alpha globale. Plus de détails...
 
TextureChannels const & GetTextureFlags () const
 
bool HasAutomaticShader () const
 
void SetTwoSided (bool p_value)
 Définit le statut d'application aux deux faces. Plus de détails...
 
void SetAlphaBlendMode (BlendMode p_value)
 Définit le mode de mélange alpha. Plus de détails...
 
void SetColourBlendMode (BlendMode p_value)
 Définit le mode de mélange couleur. Plus de détails...
 
uint32_t GetTextureUnitsCount () const
 
bool IsTwoSided () const
 
float GetOpacity () const
 
BlendMode GetAlphaBlendMode () const
 
BlendMode GetColourBlendMode () const
 
auto begin () const
 
auto begin ()
 
auto end () const
 
auto end ()
 

Fonctions membres protégées

C3D_API Pass (Material &p_parent)
 Constructeur. Plus de détails...
 
C3D_API ~Pass ()
 Destructeur. Plus de détails...
 
C3D_API bool DoPrepareTexture (TextureChannel p_channel, uint32_t &p_index, TextureUnitSPtr &p_opacitySource, Castor::PxBufferBaseSPtr &p_opacity)
 Prépare une texture à être intégrée à la passe. Plus de détails...
 
C3D_API Castor::PxBufferBaseSPtr DoPrepareTexture (TextureChannel p_channel, uint32_t &p_index)
 Prépare une texture à être intégrée à la passe. Plus de détails...
 
C3D_API void DoPrepareOpacity (TextureUnitSPtr p_opacitySource, Castor::PxBufferBaseSPtr p_opacityImage, uint32_t &p_index)
 Prépare le canal d'opacité. Plus de détails...
 
C3D_API void DoUpdateFlags ()
 Met à jour les indicateurs de texture en fonction des unités de texture. Plus de détails...
 

Description détaillée

Classe de base d'une passe d'un matériau.

Auteur
Sylvain DOREMUS
Version
0.1
Date
09/02/2010

Documentation des constructeurs et destructeur

◆ Pass()

C3D_API Castor3D::Pass::Pass ( Material p_parent)
protected

Constructeur.

Paramètres
[in]p_parentLe matériau parent.

◆ ~Pass()

C3D_API Castor3D::Pass::~Pass ( )
protected

Destructeur.

Documentation des fonctions membres

◆ AddTextureUnit()

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

Ajoute une unité de texture.

Paramètres
[in]p_unitL'unité de texture.

◆ begin() [1/2]

auto Castor3D::Pass::begin ( ) const
inline
Renvoie
Un itérateur constant sur le début du tableau de textures.

◆ begin() [2/2]

auto Castor3D::Pass::begin ( )
inline
Renvoie
Un itérateur sur le début du tableau de textures.

◆ BindTextures()

C3D_API void Castor3D::Pass::BindTextures ( )

Active les textures de la passe.

Référencé par Castor3D::DoBindPass().

+ Voici le graphe des appelants de cette fonction :

◆ Cleanup()

C3D_API void Castor3D::Pass::Cleanup ( )

Nettoie la passe et toutes ses dépendances.

◆ DestroyTextureUnit()

C3D_API void 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.

◆ DoPrepareOpacity()

C3D_API void Castor3D::Pass::DoPrepareOpacity ( TextureUnitSPtr  p_opacitySource,
Castor::PxBufferBaseSPtr  p_opacityImage,
uint32_t &  p_index 
)
protected

Prépare le canal d'opacité.

Paramètres
[in]p_opacitySourceL'unité de texture depuis laquelle l'opacité provient.
[in]p_opacityImageLe canal alpha de p_opacitySource.
[in,out]p_indexL'index de la texture.

Référencé par end().

+ Voici le graphe des appelants de cette fonction :

◆ DoPrepareTexture() [1/2]

C3D_API bool Castor3D::Pass::DoPrepareTexture ( TextureChannel  p_channel,
uint32_t &  p_index,
TextureUnitSPtr &  p_opacitySource,
Castor::PxBufferBaseSPtr &  p_opacity 
)
protected

Prépare une texture à être intégrée à la passe.

Remarques
Enlève le canal alpha s'il y en avait un, il est stocké dans p_opacity si celui-ci est vide.
Paramètres
[in]p_channelLe canal de texture.
[in,out]p_indexL'index de la texture.
[in,out]p_opacitySourceReçoit l'unité de texture si p_opacity est modifié.
[in,out]p_opacityReçoit le canal alpha de la texture.
Renvoie
true Si la texture possédait un canal alpha.

Référencé par end().

+ Voici le graphe des appelants de cette fonction :

◆ DoPrepareTexture() [2/2]

C3D_API Castor::PxBufferBaseSPtr Castor3D::Pass::DoPrepareTexture ( TextureChannel  p_channel,
uint32_t &  p_index 
)
protected

Prépare une texture à être intégrée à la passe.

Remarques
Enlève le canal alpha s'il y en avait un.
Paramètres
[in]p_channelLe canal de texture.
[in,out]p_indexL'index de la texture.
Renvoie
Le canal alpha de la texture originale.

◆ DoUpdateFlags()

C3D_API void Castor3D::Pass::DoUpdateFlags ( )
protected

Met à jour les indicateurs de texture en fonction des unités de texture.

Référencé par end().

+ Voici le graphe des appelants de cette fonction :

◆ end() [1/2]

auto Castor3D::Pass::end ( ) const
inline
Renvoie
Un itérateur constant sur la fin du tableau de textures.

◆ end() [2/2]

auto Castor3D::Pass::end ( )
inline
Renvoie
Un itérateur sur la fin du tableau de textures.

Références C3D_API, DoPrepareOpacity(), DoPrepareTexture(), DoUpdateFlags(), et Castor3D::eNoBlend.

+ Voici le graphe d'appel pour cette fonction :

◆ GetAlphaBlendMode()

BlendMode Castor3D::Pass::GetAlphaBlendMode ( ) const
inline
Renvoie
Le mode de mélange alpha.

◆ GetColourBlendMode()

BlendMode Castor3D::Pass::GetColourBlendMode ( ) const
inline
Renvoie
Le mode de mélange couleur.

◆ GetOpacity()

float Castor3D::Pass::GetOpacity ( ) const
inline
Renvoie
La valeur globale d'opacité.

◆ GetTextureFlags()

TextureChannels const& Castor3D::Pass::GetTextureFlags ( ) const
inline
Renvoie
La combinaison d'indicateurs de canal de texture.

◆ GetTextureUnit() [1/2]

C3D_API TextureUnitSPtr Castor3D::Pass::GetTextureUnit ( TextureChannel  p_channel) const

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.

Référencé par Castor3D::DoBindPassOpacityMap(), et Castor3D::DoUnbindPassOpacityMap().

+ Voici le graphe des appelants de cette fonction :

◆ GetTextureUnit() [2/2]

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.

◆ GetTextureUnitsCount()

uint32_t Castor3D::Pass::GetTextureUnitsCount ( ) const
inline
Renvoie
Le nombre d'unités de texture.

◆ GetType()

C3D_API MaterialType Castor3D::Pass::GetType ( ) const
Renvoie
Le type de matériau.

◆ HasAlphaBlending()

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.

◆ HasAutomaticShader()

bool Castor3D::Pass::HasAutomaticShader ( ) const
inline
Renvoie
true si le shader de la passe est généré automatiquement.

◆ Initialise()

C3D_API void Castor3D::Pass::Initialise ( )

Initialise la passe et toutes ses dépendances.

◆ IsTwoSided()

bool Castor3D::Pass::IsTwoSided ( ) const
inline
Remarques
Dit si la passe s'applique sur les deux faces.

◆ PrepareTextures()

C3D_API void Castor3D::Pass::PrepareTextures ( )

Réduit les textures.

◆ SetAlphaBlendMode()

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

Définit le mode de mélange alpha.

Paramètres
[in]p_valueLa nouvelle valeur.

◆ SetColourBlendMode()

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

Définit le mode de mélange couleur.

Paramètres
[in]p_valueLa nouvelle valeur.

◆ SetOpacity()

C3D_API void Castor3D::Pass::SetOpacity ( float  p_value)

Définit la valeur alpha globale.

Paramètres
[in]p_valueLa nouvelle valeur.

◆ SetTwoSided()

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

Définit le statut d'application aux deux faces.

Paramètres
[in]p_valueLa nouvelle valeur.

◆ UnbindTextures()

C3D_API void Castor3D::Pass::UnbindTextures ( )

Désactive les textures de la passe.

Référencé par Castor3D::DoUnbindPass().

+ Voici le graphe des appelants de cette fonction :

◆ UpdateRenderNode()

C3D_API void Castor3D::Pass::UpdateRenderNode ( PassRenderNodeUniforms p_node) const

Remplit les variables de shader du noeud de rendu donné.

Référencé par Castor3D::DoBindPass().

+ Voici le graphe des appelants de cette fonction :

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