"L. Spiro Engine"
|
00001 00017 #ifndef __LSG_DIRECTX9PIXELSHADER_H__ 00018 #define __LSG_DIRECTX9PIXELSHADER_H__ 00019 00020 #include "../LSGGraphicsLib.h" 00021 #include "LSGDirectX9CompiledShader.h" 00022 #include "String/LSTLString.h" 00023 00024 #ifdef LSG_DX9 00025 00026 namespace lsg { 00027 00035 class CDirectX9PixelShader : public CDirectX9CompiledShader { 00036 public : 00037 // == Various constructors. 00038 LSE_CALLCTOR CDirectX9PixelShader(); 00039 virtual LSE_CALLCTOR ~CDirectX9PixelShader(); 00040 00041 00042 // == Functions. 00046 virtual LSVOID LSE_CALL Reset(); 00047 00053 virtual LSBOOL LSE_CALL Activate(); 00054 00058 virtual LSVOID LSE_CALL OnDeviceLost(); 00059 00065 virtual LSBOOL LSE_CALL OnDeviceReset(); 00066 00067 00068 protected : 00069 // == Members. 00073 IDirect3DPixelShader9 * m_pps9PixelShader; 00074 00075 00076 // == Functions. 00087 virtual LSBOOL LSE_CALL Compile( const CString &_sShaderText, CShaderLanguageParser::LSG_SHADER_TYPES _stShaderType, CString &_sError ); 00088 00089 00090 private : 00091 typedef CDirectX9CompiledShader Parent; 00092 friend class CDirectX9CompiledShaderManager; 00093 }; 00094 00095 } // namespace lsg 00096 00097 #endif // #ifdef LSG_DX9 00098 00099 #endif // __LSG_DIRECTX9PIXELSHADER_H__