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 | |
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 |
Définition d'une passe d'un matériau.
|
protected |
C3D_API Castor3D::Pass::Pass | ( | Engine & | p_engine, |
MaterialSPtr | p_parent = nullptr |
||
) |
Constructeur.
[in] | p_engine | Le moteur |
[in] | p_parent | Le matériau parent |
C3D_API Castor3D::Pass::~Pass | ( | ) |
Destructeur.
C3D_API void Castor3D::Pass::AddTextureUnit | ( | TextureUnitSPtr | p_unit | ) |
Ajoute une unité de texture.
[in] | p_unit | L'unité de texture. |
C3D_API void Castor3D::Pass::Bind | ( | ) |
Lie le programme et les textures.
C3D_API void Castor3D::Pass::BindToNode | ( | RenderNode & | p_node | ) |
Lie cette passe au noeud de rendu donné.
[in] | p_node | Le noeud de rendu. |
C3D_API void Castor3D::Pass::BindToNode | ( | SceneRenderNode & | p_node | ) |
Lie cette passe au noeud de rendu donné.
[in] | p_node | Le noeud de rendu. |
C3D_API void Castor3D::Pass::Cleanup | ( | ) |
Nettoie la passe et toutes ses dépendances.
|
protected |
C3D_API bool Castor3D::Pass::DestroyTextureUnit | ( | uint32_t | p_index | ) |
Détruit la TextureUnit à l'index donné
[in] | p_index | L'index de la TextureUnit à détruire |
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.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Récupère la combinaison d'indicateurs de canal de texture.
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é
[in] | p_index | L'index voulu |
C3D_API TextureUnitSPtr Castor3D::Pass::GetTextureUnit | ( | eTEXTURE_CHANNEL | p_channel | ) |
Récupère la TextureUnit au canal demandé
[in] | p_channel | Le canal |
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é
[in] | p_index | L'index voulu |
|
inline |
C3D_API 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.
Références m_bAutomaticShader.
C3D_API void Castor3D::Pass::Initialise | ( | ) |
Initialise la passe et toutes ses dépendances.
|
inline |
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.
|
inline |
Définit la valeur alpha globale.
[in] | p_fAlpha | La nouvelle valeur |
Références m_clrAmbient, m_clrDiffuse, m_clrEmissive, m_clrSpecular, et m_fAlpha.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Définit la couleur spéculaire.
[in] | p_clrColour | La nouvelle valeur |
Références m_clrSpecular.
|
inline |
|
friend |
|
protected |
Le mode de mélange alpha.
Référencé par GetAlphaBlendMode(), et SetAlphaBlendMode().
|
protected |
Les textures.
Référencé par GetEmissive(), et GetTextureUnitsCount().
|
protected |
Dit que le shader de la passe a été généré automatiquement.
Référencé par HasAutomaticShader().
|
protected |
Dit si la passe est sur 2 faces.
Référencé par IsTwoSided(), et SetTwoSided().
|
protected |
La couleur ambiante.
Référencé par GetAmbient(), SetAlpha(), et SetAmbient().
|
protected |
La couleur diffuse.
Référencé par GetDiffuse(), SetAlpha(), et SetDiffuse().
|
protected |
La couleur émissive.
Référencé par GetEmissive(), SetAlpha(), et SetEmissive().
|
protected |
La couleur spéculaire.
Référencé par GetSpecular(), SetAlpha(), et SetSpecular().
|
protected |
Le mode de mélange couleur.
Référencé par GetColourBlendMode(), et SetColourBlendMode().
|
protected |
L'alpha.
Référencé par GetAlpha(), et SetAlpha().
|
protected |
L'exposant.
Référencé par GetShininess(), et SetShininess().
|
protected |
Les variables de shader avec les unités de texture associées, triées par canal.
|
protected |
Le materiau parent.
Référencé par GetParent().
|
protected |
Etats de blend.
Référencé par GetBlendState().
|
protected |
Combinaison des eTEXTURE_CHANNEL affectés à une texture pour cette passe.
Référencé par GetTextureFlags().
|
protected |
Dit si les textures de la passe sont réduites.