"L. Spiro Engine"
|
00001 00017 #ifndef __LSG_DIRECTX9VERTEXSHADER_H__ 00018 #define __LSG_DIRECTX9VERTEXSHADER_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 CDirectX9VertexShader : public CDirectX9CompiledShader { 00036 public : 00037 // == Various constructors. 00038 LSE_CALLCTOR CDirectX9VertexShader(); 00039 virtual LSE_CALLCTOR ~CDirectX9VertexShader(); 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 IDirect3DVertexShader9 * m_pvs9VertexShader; 00074 00085 virtual LSBOOL LSE_CALL Compile( const CString &_sShaderText, CShaderLanguageParser::LSG_SHADER_TYPES _stShaderType, CString &_sError ); 00086 00087 00088 private : 00089 typedef CDirectX9CompiledShader Parent; 00090 friend class CDirectX9CompiledShaderManager; 00091 }; 00092 00093 } // namespace lsg 00094 00095 #endif // #ifdef LSG_DX9 00096 00097 #endif // __LSG_DIRECTX9VERTEXSHADER_H__