Castor3D
..
|
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...
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... | |
Manager utilisé pour garder les programmes de shaders. Il les garde et permet leur destruction au cours d'une boucle de rendu.
C3D_API Castor3D::ShaderManager::ShaderManager | ( | Engine & | p_engine | ) |
Constructeur.
[in] | p_engine | Le moteur |
C3D_API Castor3D::ShaderManager::~ShaderManager | ( | ) |
Destructeur.
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.
[in] | p_program | Le programme à ajouter. |
[in] | p_textureFlags | Une combinaison de eTEXTURE_CHANNEL. |
[in] | p_programFlags | Une combinaison de ePROGRAM_FLAG. |
|
inline |
Récupère un itérateur sur le début de la liste de shaders.
|
inline |
Récupère un itérateur sur le début de la liste de shaders.
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.
[in] | p_program | Le programme auquel le buffer est lié |
[in] | p_shaderMask | Combinaison de MASK_SHADER_TYPE, pour déterminer les shaders auxquels il doit être lié |
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.
[in] | p_program | Le programme auquel le buffer est lié |
[in] | p_shaderMask | Combinaison de MASK_SHADER_TYPE, pour déterminer les shaders auxquels il doit être lié |
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.
[in] | p_program | Le programme auquel le buffer est lié |
[in] | p_shaderMask | Combinaison de MASK_SHADER_TYPE, pour déterminer les shaders auxquels il doit être lié |
C3D_API void Castor3D::ShaderManager::CreateTextureVariables | ( | ShaderProgram & | p_program, |
uint32_t | p_uiTextureFlags | ||
) |
Crée les frame variables relatives aux textures.
[in] | p_uiTextureFlags | Une combinaison de eTEXTURE_CHANNEL |
[in] | p_program | Le programme auquel le buffer est lié |
|
inline |
Récupère un itérateur sur la fin de la liste de shaders.
|
inline |
Récupère un itérateur sur la fin de la liste de shaders.
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.
[in] | p_technique | La technique a pqrtir de laquelle est recuperee le code du programme |
[in] | p_textureFlags | Une combinaison de eTEXTURE_CHANNEL |
[in] | p_programFlags | Une combinaison de ePROGRAM_FLAG |
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.
[in] | p_textureFlags | Une combinaison de eTEXTURE_CHANNEL. |
[in] | p_programFlags | Une combinaison de ePROGRAM_FLAG. |
C3D_API ShaderProgramSPtr Castor3D::ShaderManager::GetNewProgram | ( | eSHADER_LANGUAGE | p_langage = eSHADER_LANGUAGE_AUTO | ) |
Crée un nouveau programme.
[in] | p_langage | Le langage de shader souhaité |
|
inline |
Locke le mutex de la collection.
|
inline |
Définit le RenderSystem.
[in] | p_renderSystem | La nouvelle valeur |
|
inline |
Délocke le mutex de la collection.