"L. Spiro Engine"
|
00001 00016 #ifndef __LSG_DIRECTX9SHADERTRANSLATOR_H__ 00017 #define __LSG_DIRECTX9SHADERTRANSLATOR_H__ 00018 00019 #include "../LSGGraphicsLib.h" 00020 #include "../ShaderLanguage/LSGShaderTranslationProcessorBase.h" 00021 00022 #if defined( LSG_DX9 ) 00023 00024 namespace lsg { 00025 00032 class CDirectX9ShaderTranslator : public CShaderTranslationProcessorBase { 00033 public : 00034 // == Various constructors. 00035 LSE_CALLCTOR CDirectX9ShaderTranslator(); 00036 virtual LSE_CALLCTOR ~CDirectX9ShaderTranslator(); 00037 00038 00039 // == Functions. 00040 protected : 00041 // == Members. 00042 00043 00044 // == Functions. 00052 virtual LSBOOL LSE_CALL PostShaderString( CString &_sShader, CString &_sError ); 00053 00061 LSG_PROCESSING_DIRECTIVE LSE_CALL HandleFunctionDeclaration( LSG_NODE_CALLBACK &_ncData ); 00062 00070 //LSG_PROCESSING_DIRECTIVE LSE_CALL HandleParamaterDeclarator( LSG_NODE_CALLBACK &_ncData ); 00071 00079 LSG_PROCESSING_DIRECTIVE LSE_CALL HandleInitListWrap( LSG_NODE_CALLBACK &_ncData ); 00080 00088 LSG_PROCESSING_DIRECTIVE LSE_CALL HandleSingleDeclaration( LSG_NODE_CALLBACK &_ncData ); 00089 00097 LSG_PROCESSING_DIRECTIVE LSE_CALL HandleIntrinsic( LSG_NODE_CALLBACK &_ncData ); 00098 00106 LSG_PROCESSING_DIRECTIVE LSE_CALL HandleSemantic( LSG_NODE_CALLBACK &_ncData ); 00107 00115 virtual LSBOOL LSE_CALL DecodeTypeQualifier( LSUINT64 _ui64Qualifier, CString &_sString ); 00116 00124 virtual LSBOOL LSE_CALL DecodeType( LSUINT64 _ui64Type, CString &_sString ); 00125 00126 00127 private : 00128 typedef CShaderTranslationProcessorBase Parent; 00129 }; 00130 00131 } // namespace lsg 00132 00133 #endif // #if defined( LSG_DX9 ) 00134 00135 #endif // __LSG_DIRECTX9SHADERTRANSLATOR_H__