"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSGraphicsLib/Src/RenderTarget/LSGRenderTargetInterface.h

00001 
00016 #ifndef __LSG_RENDERTARGETINTERFACE_H__
00017 #define __LSG_RENDERTARGETINTERFACE_H__
00018 
00019 #include "../LSGGraphicsLib.h"
00020 
00021 namespace lsg {
00022 
00029         class CRenderTargetInterface {
00030                 friend class                                                    CDirectX9RenderTargetManager;
00031                 friend class                                                    CDirectX10RenderTargetManager;
00032                 friend class                                                    CDirectX11RenderTargetManager;
00033                 friend class                                                    COpenGlRenderTargetManager;
00034                 friend class                                                    COpenGlEsRenderTargetManager;
00035         public :
00036                 // == Various constructors.
00037                 LSE_CALLCTOR                                                    CRenderTargetInterface();
00038 
00039 
00040                 // == Functions.
00046                 LSE_INLINE LSUINT32 LSE_CALL                    GetWidth() const;
00047 
00053                 LSE_INLINE LSUINT32 LSE_CALL                    GetHeight() const;
00054 
00062                 virtual LSBOOL LSE_CALL                                 SetsColorAutomatically() const;
00063 
00069                 LSE_INLINE LSUINT32 LSE_CALL                    GetId() const;
00070 
00071         protected :
00072                 // == Members.
00076                 LSUINT32                                                                m_ui32Id;
00077 
00081                 LSUINT32                                                                m_ui32Width;
00082 
00086                 LSUINT32                                                                m_ui32Height;
00087 
00091                 static LSUINT32                                                 m_ui32IdCounter;
00092 
00096                 static CCriticalSection                                 m_csBaseCrit;
00097 
00098 
00099                 // == Functions.
00106                 virtual LSBOOL LSE_CALL                                 SetAsColorRenderTarget( LSUINT32 _ui32Slot ) const;
00107 
00113                 virtual LSBOOL LSE_CALL                                 SetAsDepthStencilRenderTarget() const;
00114 
00118                 virtual LSVOID LSE_CALL                                 EndAsRenderTarget() const;
00119         };
00120 
00121 
00122         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00123         // DEFINITIONS
00124         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00125         // == Functions.
00131         LSE_INLINE LSUINT32 LSE_CALL CRenderTargetInterface::GetWidth() const { return m_ui32Width; }
00132 
00138         LSE_INLINE LSUINT32 LSE_CALL CRenderTargetInterface::GetHeight() const { return m_ui32Height; }
00139 
00145         LSE_INLINE LSUINT32 LSE_CALL CRenderTargetInterface::GetId() const {
00146                 return m_ui32Id;
00147         }
00148 
00149 }       // namespace lsg
00150 
00151 #endif  // __LSG_RENDERTARGETINTERFACE_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator