Castor3D  ..
Fonctions membres publiques | Liste de tous les membres
Référence de la classe Castor3D::ShaderManager

Manager utilisé pour garder les programmes de shaders. Il les garde et permet leur destruction au cours d'une boucle de rendu. Plus de détails...

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

Fonctions membres publiques

C3D_API ShaderManager (Engine &p_engine)
 Constructeur. Plus de détails...
 
C3D_API ~ShaderManager ()
 Destructeur. Plus de détails...
 
C3D_API void Clear ()
 Détruit tous les shaders du tableau de shaders à détruire. Plus de détails...
 
C3D_API void Cleanup ()
 Nettoie tous les shaders. Plus de détails...
 
C3D_API ShaderProgramSPtr GetNewProgram (eSHADER_LANGUAGE p_langage=eSHADER_LANGUAGE_AUTO)
 Crée un nouveau programme. Plus de détails...
 
C3D_API ShaderProgramSPtr GetAutomaticProgram (RenderTechnique const &p_technique, uint32_t p_textureFlags, uint32_t p_programFlags)
 Cherche un programme automatiquement généré correspondant aux flags donnés. Plus de détails...
 
C3D_API ShaderProgramSPtr GetBillboardProgram (uint32_t p_textureFlags, uint32_t p_programFlags) const
 Cherche un programme de billboards correspondant aux flags donnés. Plus de détails...
 
C3D_API void AddBillboardProgram (ShaderProgramSPtr p_program, uint32_t p_textureFlags, uint32_t p_programFlags)
 Ajoute un programme de billboards correspondant aux flags donnés. Plus de détails...
 
C3D_API FrameVariableBufferSPtr CreateMatrixBuffer (ShaderProgram &p_program, uint32_t p_shaderMask)
 Crée un frame variable buffer pour les matrices. Plus de détails...
 
C3D_API FrameVariableBufferSPtr CreateSceneBuffer (ShaderProgram &p_program, uint32_t p_shaderMask)
 Crée un frame variable buffer pour les données de scène. Plus de détails...
 
C3D_API FrameVariableBufferSPtr CreatePassBuffer (ShaderProgram &p_program, uint32_t p_shaderMask)
 Crée un frame variable buffer pour les données de passe. Plus de détails...
 
C3D_API void CreateTextureVariables (ShaderProgram &p_program, uint32_t p_uiTextureFlags)
 Crée les frame variables relatives aux textures. Plus de détails...
 
void lock () const
 Locke le mutex de la collection. Plus de détails...
 
void unlock () const
 Délocke le mutex de la collection. Plus de détails...
 
void SetRenderSystem (RenderSystem *const &p_renderSystem)
 Définit le RenderSystem. Plus de détails...
 
ShaderProgramPtrArray::iterator begin ()
 Récupère un itérateur sur le début de la liste de shaders. Plus de détails...
 
ShaderProgramPtrArray::const_iterator begin () const
 Récupère un itérateur sur le début de la liste de shaders. Plus de détails...
 
ShaderProgramPtrArray::iterator end ()
 Récupère un itérateur sur la fin de la liste de shaders. Plus de détails...
 
ShaderProgramPtrArray::const_iterator end () const
 Récupère un itérateur sur la fin de la liste de shaders. Plus de détails...
 

Description détaillée

Manager utilisé pour garder les programmes de shaders. Il les garde et permet leur destruction au cours d'une boucle de rendu.

Auteur
Sylvain DOREMUS
Date
14/02/2010

Documentation des constructeurs et destructeur

C3D_API Castor3D::ShaderManager::ShaderManager ( Engine p_engine)

Constructeur.

Paramètres
[in]p_engineLe moteur
C3D_API Castor3D::ShaderManager::~ShaderManager ( )

Destructeur.

Documentation des fonctions membres

C3D_API void Castor3D::ShaderManager::AddBillboardProgram ( ShaderProgramSPtr  p_program,
uint32_t  p_textureFlags,
uint32_t  p_programFlags 
)

Ajoute un programme de billboards correspondant aux flags donnés.

Paramètres
[in]p_programLe programme à ajouter.
[in]p_textureFlagsUne combinaison de eTEXTURE_CHANNEL.
[in]p_programFlagsUne combinaison de ePROGRAM_FLAG.
Renvoie
Le programme trouvé.
ShaderProgramPtrArray::iterator Castor3D::ShaderManager::begin ( )
inline

Récupère un itérateur sur le début de la liste de shaders.

Renvoie
L4itérateur
ShaderProgramPtrArray::const_iterator Castor3D::ShaderManager::begin ( ) const
inline

Récupère un itérateur sur le début de la liste de shaders.

Renvoie
L4itérateur
C3D_API void Castor3D::ShaderManager::Cleanup ( )

Nettoie tous les shaders.

C3D_API void Castor3D::ShaderManager::Clear ( )

Détruit tous les shaders du tableau de shaders à détruire.

C3D_API FrameVariableBufferSPtr Castor3D::ShaderManager::CreateMatrixBuffer ( ShaderProgram p_program,
uint32_t  p_shaderMask 
)

Crée un frame variable buffer pour les matrices.

Paramètres
[in]p_programLe programme auquel le buffer est lié
[in]p_shaderMaskCombinaison de MASK_SHADER_TYPE, pour déterminer les shaders auxquels il doit être lié
Renvoie
Le frame variable buffer
C3D_API FrameVariableBufferSPtr Castor3D::ShaderManager::CreatePassBuffer ( ShaderProgram p_program,
uint32_t  p_shaderMask 
)

Crée un frame variable buffer pour les données de passe.

Paramètres
[in]p_programLe programme auquel le buffer est lié
[in]p_shaderMaskCombinaison de MASK_SHADER_TYPE, pour déterminer les shaders auxquels il doit être lié
Renvoie
Le frame variable buffer
C3D_API FrameVariableBufferSPtr Castor3D::ShaderManager::CreateSceneBuffer ( ShaderProgram p_program,
uint32_t  p_shaderMask 
)

Crée un frame variable buffer pour les données de scène.

Paramètres
[in]p_programLe programme auquel le buffer est lié
[in]p_shaderMaskCombinaison de MASK_SHADER_TYPE, pour déterminer les shaders auxquels il doit être lié
Renvoie
Le frame variable buffer
C3D_API void Castor3D::ShaderManager::CreateTextureVariables ( ShaderProgram p_program,
uint32_t  p_uiTextureFlags 
)

Crée les frame variables relatives aux textures.

Paramètres
[in]p_uiTextureFlagsUne combinaison de eTEXTURE_CHANNEL
[in]p_programLe programme auquel le buffer est lié
ShaderProgramPtrArray::iterator Castor3D::ShaderManager::end ( )
inline

Récupère un itérateur sur la fin de la liste de shaders.

Renvoie
L4itérateur
ShaderProgramPtrArray::const_iterator Castor3D::ShaderManager::end ( ) const
inline

Récupère un itérateur sur la fin de la liste de shaders.

Renvoie
L4itérateur
C3D_API ShaderProgramSPtr Castor3D::ShaderManager::GetAutomaticProgram ( RenderTechnique const &  p_technique,
uint32_t  p_textureFlags,
uint32_t  p_programFlags 
)

Cherche un programme automatiquement généré correspondant aux flags donnés.

Paramètres
[in]p_techniqueLa technique a pqrtir de laquelle est recuperee le code du programme
[in]p_textureFlagsUne combinaison de eTEXTURE_CHANNEL
[in]p_programFlagsUne combinaison de ePROGRAM_FLAG
Renvoie
Le programme trouvé ou créé
C3D_API ShaderProgramSPtr Castor3D::ShaderManager::GetBillboardProgram ( uint32_t  p_textureFlags,
uint32_t  p_programFlags 
) const

Cherche un programme de billboards correspondant aux flags donnés.

Paramètres
[in]p_textureFlagsUne combinaison de eTEXTURE_CHANNEL.
[in]p_programFlagsUne combinaison de ePROGRAM_FLAG.
Renvoie
Le programme trouvé.
C3D_API ShaderProgramSPtr Castor3D::ShaderManager::GetNewProgram ( eSHADER_LANGUAGE  p_langage = eSHADER_LANGUAGE_AUTO)

Crée un nouveau programme.

Paramètres
[in]p_langageLe langage de shader souhaité
Renvoie
Le programme créé
void Castor3D::ShaderManager::lock ( ) const
inline

Locke le mutex de la collection.

void Castor3D::ShaderManager::SetRenderSystem ( RenderSystem *const &  p_renderSystem)
inline

Définit le RenderSystem.

Paramètres
[in]p_renderSystemLa nouvelle valeur
void Castor3D::ShaderManager::unlock ( ) const
inline

Délocke le mutex de la collection.


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