"L. Spiro Engine"
|
00001 00017 #ifndef __LSG_OPENGLESCOMPILEDSHADER_H__ 00018 #define __LSG_OPENGLESCOMPILEDSHADER_H__ 00019 00020 #include "../LSGGraphicsLib.h" 00021 #include "../ShaderLanguage/LSGCompiledShaderBase.h" 00022 00023 #if defined( LSG_OGLES ) 00024 00025 namespace lsg { 00026 00027 class COpenGlEsCompiledShaderManager; 00028 00036 class COpenGlEsCompiledShader : public CCompiledShaderBase { 00037 public : 00038 // == Various constructors. 00039 LSE_CALLCTOR COpenGlEsCompiledShader(); 00040 LSE_CALLCTOR ~COpenGlEsCompiledShader(); 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 COpenGlEsCompiledShaderManager; 00090 }; 00091 00092 } // namespace lsg 00093 00094 #endif // #if defined( LSG_OGLES ) 00095 00096 #endif // __LSG_OPENGLESCOMPILEDSHADER_H__