"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSGraphicsLib/Src/OpenGLESShaders/LSGOpenGlEsCompiledShaderManager.h

00001 
00025 #ifndef __LSG_OPENGLESCOMPILEDSHADERMANAGER_H__
00026 #define __LSG_OPENGLESCOMPILEDSHADERMANAGER_H__
00027 
00028 #include "../LSGGraphicsLib.h"
00029 #include "LSGOpenGlEsCompiledShader.h"
00030 #include "Map/LSTLMap.h"
00031 #include "String/LSTLStringList.h"
00032 
00033 #if defined( LSG_OGLES )
00034 
00035 namespace lsg {
00036 
00052         class COpenGlEsCompiledShaderManager {
00053         public :
00054                 // == Functions.
00060                 static LSVOID LSE_CALL                                                                  SetSharing( LSBOOL _bVal );
00061 
00070                 static COpenGlEsCompiledShader * LSE_CALL                               CreateShader( const CString &_sShaderText, CShaderLanguageParser::LSG_SHADER_TYPES _stShaderType, CString &_sError );
00071 
00077                 static LSVOID LSE_CALL                                                                  DeleteShader( COpenGlEsCompiledShader * _pogcsShader );
00078 
00084                 static LSUINT32 LSE_CALL                                                                DeleteUnreferencedShaders();
00085 
00086 
00087         protected :
00088                 // == Members.
00092                 static LSBOOL                                                                                   m_bSharing;
00093 
00097                 static CMap<CString, COpenGlEsCompiledShader *>                 m_mShaders[CShaderLanguageParser::LSG_ST_TOTAL];
00098         };
00099 
00100 }       // namespace lsg
00101 
00102 #endif  // #if defined( LSG_OGLES )
00103 
00104 #endif  // __LSG_OPENGLESCOMPILEDSHADERMANAGER_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator