"L. Spiro Engine"
|
00001 00016 #ifndef __LSG_DIRECTX9RENDERTARGETMANAGER_H__ 00017 #define __LSG_DIRECTX9RENDERTARGETMANAGER_H__ 00018 00019 #include "../LSGGraphicsLib.h" 00020 #include "../RenderTarget/LSGRenderTargetManagerBase.h" 00021 #include "Map/LSTLMap.h" 00022 00023 #ifdef LSG_DX9 00024 00025 namespace lsg { 00026 00033 class CDirectX9RenderTargetManager : public CRenderTargetManagerBase { 00034 public : 00035 // == Functions. 00036 00037 00038 protected : 00039 // == Various constructors. 00040 LSE_CALLCTOR CDirectX9RenderTargetManager(); 00041 LSE_CALLCTOR ~CDirectX9RenderTargetManager(); 00042 00043 00044 // == Types. 00049 typedef struct LSG_DIMENSIONS { 00050 #pragma pack( push, 1 ) 00051 00054 LSUINT32 ui32Width; 00055 00059 LSUINT32 ui32Height; 00060 #pragma pack( pop ) 00061 00062 00063 // == Operators. 00071 LSBOOL LSE_CALL operator < ( const LSG_DIMENSIONS &_dOther ) const; 00072 00080 LSBOOL LSE_CALL operator == ( const LSG_DIMENSIONS &_dOther ) const; 00081 } * LPLSG_DIMENSIONS, * const LPCLSG_DIMENSIONS; 00082 00083 00084 // == Members. 00088 CRenderTargetInterface * m_prtiLastRenderTarget[LSG_MRT_MAX]; 00089 00093 CRenderTargetInterface * m_prtiLastDepthRenderTarget; 00094 00099 CMap<LSG_DIMENSIONS, CColorRenderTarget *> 00100 m_mColorSurfaces; 00101 00102 00103 // == Functions. 00110 LSUINT32 LSE_CALL Finalize(); 00111 00115 LSVOID LSE_CALL EndRender(); 00116 }; 00117 00118 00119 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00120 // DEFINITIONS 00121 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00122 00123 00124 } // namespace lsg 00125 00126 #endif // #ifdef LSG_DX9 00127 00128 #endif // __LSG_DIRECTX9RENDERTARGETMANAGER_H__