"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSGraphicsLib/Src/DirectXShaders/LSGDirectX9VertexShader.h

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__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator