Castor3D
..
|
Définition d'une passe d'un matériau. Plus de détails...
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 Engine * | GetEngine () 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... | |
Renderable & | operator= (Renderable< Pass, PassRenderer > const &p_copy) |
Opérateur d'affectation par copie. Plus de détails... | |
Renderable & | operator= (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... | |
Engine * | m_pEngine |
Le moteur. Plus de détails... | |
Amis | |
class | Material |
Définition d'une passe d'un matériau.
|
protected |
Castor3D::Pass::Pass | ( | Engine * | p_pEngine, |
MaterialSPtr | p_pParent = nullptr |
||
) |
Constructeur.
[in] | p_pEngine | Le moteur |
[in] | p_pParent | Le matériau parent |
Castor3D::Pass::~Pass | ( | ) |
Destructeur.
TextureUnitSPtr Castor3D::Pass::AddTextureUnit | ( | ) |
Crée et ajoute une unité de texture.
|
inline |
Récupère un itérateur constant sur le début du tableau de textures.
|
inline |
Récupère un itérateur sur le début du tableau de textures.
void Castor3D::Pass::BindToProgram | ( | ShaderProgramBaseSPtr | p_pProgram | ) |
Lie cette passe au programme donné
[in] | p_pProgram | Le programme |
void Castor3D::Pass::Cleanup | ( | ) |
Nettoie la passe et toutes ses dépendances.
|
protected |
bool Castor3D::Pass::DestroyTextureUnit | ( | uint32_t | p_uiIndex | ) |
Détruit la TextureUnit à l'index donné
[in] | p_uiIndex | L'index de la TextureUnit à détruire |
false
si l'index était hors bornes
|
inline |
Récupère un itérateur constant sur la fin du tableau de textures.
|
inline |
Récupère un itérateur sur la fin du tableau de textures.
|
virtual |
Retire la passe du rendu courant.
Réimplémentée à partir de Castor3D::Renderable< Pass, PassRenderer >.
|
inline |
Récupère la valeur alpha globale.
|
inline |
Récupère la couleur ambiante.
|
inline |
Récupère la couleur ambiante.
|
inline |
Récupère l'état de mélange.
|
inline |
Récupère la couleur diffuse.
|
inline |
Récupère la couleur diffuse.
|
inline |
Récupère la couleur émissive.
|
inline |
Récupère la couleur émissive.
|
inline |
Récupère le matériau parent.
|
inline |
Récupère le shader.
nullptr
si aucun
|
inline |
Récupère l'exposant.
|
inline |
Récupère la couleur spéculaire.
|
inline |
Récupère la couleur spéculaire.
|
inline |
Récupère la combinaison d'indicateurs de canal de texture.
Castor::String Castor3D::Pass::GetTexturePath | ( | uint32_t | p_uiIndex | ) |
Récupère le chemin de l'image de la TextureUnit à l'index donné
[in] | p_uiIndex | L'index voulu |
TextureUnitSPtr Castor3D::Pass::GetTextureUnit | ( | eTEXTURE_CHANNEL | p_eChannel | ) |
Récupère la TextureUnit au canal demandé
[in] | p_eChannel | Le canal |
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é
[in] | p_uiIndex | L'index voulu |
|
inline |
Récupère le nombre d'unités de texture.
bool Castor3D::Pass::HasAlphaBlending | ( | ) | const |
Dit si la passe a besoin de mélange d'alpha.
true
si au moins une unité de texture a un canal alpha
|
inline |
Dit si le shader de la passe est généré automatiquement ou pas.
bool Castor3D::Pass::HasShader | ( | ) | const |
Dit si la passe a un shader.
true
si le programme a été défini, false
sinon void Castor3D::Pass::Initialise | ( | ) |
Initialise la passe et toutes ses dépendances.
|
inline |
|
virtual |
Applique la passe.
[in] | p_byIndex | L'index de la passe |
[in] | p_byCount | Le compte des passes du material |
|
virtual |
Applique la passe pour un rendu 2D.
[in] | p_byIndex | L'index de la passe |
[in] | p_byCount | Le compte des passes du material |
|
inline |
Définit la valeur alpha globale.
[in] | p_fAlpha | La nouvelle valeur |
|
inline |
Définit la couleur ambiante.
[in] | p_clrColour | La nouvelle valeur |
|
inline |
Définit la couleur diffuse.
[in] | p_clrColour | La nouvelle valeur |
|
inline |
Définit la couleur émissive.
[in] | p_clrColour | La nouvelle valeur |
void Castor3D::Pass::SetShader | ( | ShaderProgramBaseSPtr | p_pProgram | ) |
Définit le shader.
[in] | p_pProgram | Le programme |
|
inline |
Définit l'exposant.
[in] | p_fShininess | La nouvelle valeur |
|
inline |
Définit la couleur spéculaire.
[in] | p_clrColour | La nouvelle valeur |
|
inline |
Définit le statut double face.
[in] | p_bDouble | La nouvelle valeur |
|
friend |
|
protected |
Les textures.
|
protected |
Dit que le shader de la passe a été généré automatiquement.
|
protected |
Dit si la passe est sur 2 faces.
|
protected |
La couleur ambiante.
|
protected |
La couleur diffuse.
|
protected |
La couleur émissive.
|
protected |
La couleur spéculaire.
|
protected |
L'alpha.
|
protected |
L'exposant.
|
protected |
Les variables de shader avec les unités de texture associées, triées par canal.
|
protected |
Etats de blend.
|
protected |
Le materiau parent.
|
protected |
Le programme de shader.
|
protected |
Combinaison des eTEXTURE_CHANNEL affectés à une texture pour cette passe.