"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSGraphicsLib/Src/OpenGLShaders/LSGOpenGlCompiledShader.h

00001 
00017 #ifndef __LSG_OPENGLCOMPILEDSHADER_H__
00018 #define __LSG_OPENGLCOMPILEDSHADER_H__
00019 
00020 #include "../LSGGraphicsLib.h"
00021 #include "../ShaderLanguage/LSGCompiledShaderBase.h"
00022 
00023 #if defined( LSG_OGL )
00024 
00025 namespace lsg {
00026 
00027         class COpenGlCompiledShaderManager;
00028 
00036         class COpenGlCompiledShader : public CCompiledShaderBase {
00037         public :
00038                 // == Various constructors.
00039                 LSE_CALLCTOR                                                    COpenGlCompiledShader();
00040                 LSE_CALLCTOR                                                    ~COpenGlCompiledShader();
00041 
00042 
00043                 // == Functions.
00047                 virtual LSVOID LSE_CALL                                 Reset();
00048 
00054                 GLuint LSE_CALL                                                 GetHandle() const;
00055 
00062                 static LSUINT32 LSE_CALL                                ToOpenGlType( CShaderLanguageParser::LSG_SHADER_TYPES _stShaderType );
00063 
00064 
00065         protected :
00066                 // == Members.
00070                 GLuint                                                                  m_hShaderHandle;
00071 
00072 
00073                 // == Functions.
00084                 virtual LSBOOL LSE_CALL                                 Compile( const CString &_sShaderText, CShaderLanguageParser::LSG_SHADER_TYPES _stShaderType, CString &_sError );
00085 
00086 
00087         private :
00088                 typedef CCompiledShaderBase                             Parent;
00089                 friend class                                                    COpenGlCompiledShaderManager;
00090         };
00091 
00092 }       // namespace lsg
00093 
00094 #endif  // #if defined( LSG_OGL )
00095 
00096 #endif  // __LSG_OPENGLCOMPILEDSHADER_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator