"L. Spiro Engine"

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

00001 
00016 #ifndef __LSG_OPENGLSHADERTRANSLATOR_H__
00017 #define __LSG_OPENGLSHADERTRANSLATOR_H__
00018 
00019 #include "../LSGGraphicsLib.h"
00020 #include "../ShaderLanguage/LSGShaderTranslationProcessorBase.h"
00021 
00022 #if defined( LSG_OGL )
00023 
00024 namespace lsg {
00025 
00032         class COpenGlShaderTranslator : public CShaderTranslationProcessorBase {
00033         public :
00034                 // == Various constructors.
00035                 LSE_CALLCTOR                                                                            COpenGlShaderTranslator();
00036                 virtual LSE_CALLCTOR                                                            ~COpenGlShaderTranslator();
00037 
00038 
00039         protected :
00040                 // == Members.
00044                 LSBOOL                                                                                          m_bIsMainNow;
00045 
00046 
00047                 // == Functions.
00055                 virtual LSBOOL LSE_CALL                                                         PostShaderString( CString &_sShader, CString &_sError );
00056 
00064                 virtual LSG_PROCESSING_DIRECTIVE LSE_CALL                       HandleFunctionDeclaration( LSG_NODE_CALLBACK &_ncData );
00065 
00073                 virtual LSG_PROCESSING_DIRECTIVE LSE_CALL                       HandleParamaterDeclarator( LSG_NODE_CALLBACK &_ncData );
00074 
00082                 virtual LSG_PROCESSING_DIRECTIVE LSE_CALL                       HandleSingleDeclaration( LSG_NODE_CALLBACK &_ncData );
00083 
00091                 virtual LSG_PROCESSING_DIRECTIVE LSE_CALL                       HandleFullySpecifiedType( LSG_NODE_CALLBACK &_ncData );
00092 
00100                 virtual LSG_PROCESSING_DIRECTIVE LSE_CALL                       HandleIntrinsic( LSG_NODE_CALLBACK &_ncData );
00101 
00109                 virtual LSG_PROCESSING_DIRECTIVE LSE_CALL                       HandleCast( LSG_NODE_CALLBACK &_ncData );
00110 
00118                 virtual LSG_PROCESSING_DIRECTIVE LSE_CALL                       HandleIdentifier( LSG_NODE_CALLBACK &_ncData );
00119 
00127                 virtual LSBOOL LSE_CALL                                                         DecodeTypeQualifier( LSUINT64 _ui64Qualifier, CString &_sString );
00128 
00136                 virtual LSBOOL LSE_CALL                                                         DecodeType( LSUINT64 _ui64Type, CString &_sString );
00137 
00148                 virtual LSG_PROCESSING_DIRECTIVE LSE_CALL                       VertexInTexCoord( LSG_NODE_CALLBACK &_ncData,
00149                         LSUINT32 _ui32ParmNodeIndex,
00150                         LSUINT32 _ui32Index, CString &_sRet, CString &_sError );
00151 
00162                 virtual LSG_PROCESSING_DIRECTIVE LSE_CALL                       VertexOutTexCoord( LSG_NODE_CALLBACK &_ncData,
00163                         LSUINT32 _ui32ParmNodeIndex,
00164                         LSUINT32 _ui32Index, CString &_sRet, CString &_sError );
00165 
00176                 virtual LSG_PROCESSING_DIRECTIVE LSE_CALL                       PixelInTexCoord( LSG_NODE_CALLBACK &_ncData,
00177                         LSUINT32 _ui32ParmNodeIndex,
00178                         LSUINT32 _ui32Index, CString &_sRet, CString &_sError );
00179 
00180 
00181         private :
00182                 typedef CShaderTranslationProcessorBase                         Parent;
00183 
00184         };
00185 
00186 }       // namespace lsg
00187 
00188 #endif  // #if defined( LSG_OGL )
00189 
00190 #endif  // __LSG_OPENGLSHADERTRANSLATOR_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator