"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSGraphicsLib/Src/OpenGL/LSGOpenGlRenderTargetManager.h

00001 
00016 #ifndef __LSG_OPENGLRENDERTARGETMANAGER_H__
00017 #define __LSG_OPENGLRENDERTARGETMANAGER_H__
00018 
00019 #include "../LSGGraphicsLib.h"
00020 #include "../RenderTarget/LSGRenderTargetManagerBase.h"
00021 #include "Map/LSTLMap.h"
00022 
00023 #ifdef LSG_OGL
00024 
00025 namespace lsg {
00026 
00033         class COpenGlRenderTargetManager : public CRenderTargetManagerBase {
00034         public :
00035                 // == Functions.
00036 
00037 
00038         protected :
00039                 // == Various constructors.
00040                 LSE_CALLCTOR                                                    COpenGlRenderTargetManager();
00041                 LSE_CALLCTOR                                                    ~COpenGlRenderTargetManager();
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                 GLuint                                                                  m_uiFrameId;
00089 
00093                 CRenderTargetInterface *                                m_prtiLastRenderTarget[LSG_MRT_MAX];
00094 
00098                 CRenderTargetInterface *                                m_prtiLastDepthRenderTarget;
00099 
00104                 CMap<LSG_DIMENSIONS, CColorRenderTarget *>
00105                                                                                                 m_mColorSurfaces;
00106 
00107 
00108                 // == Functions.
00115                 LSUINT32 LSE_CALL                                               Finalize();
00116 
00120                 LSVOID LSE_CALL                                                 EndRender();
00121         };
00122 
00123 
00124         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00125         // DEFINITIONS
00126         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00127         
00128 
00129 }       // namespace lsg
00130 
00131 #endif  // #ifdef LSG_OGL
00132 
00133 #endif  // __LSG_OPENGLRENDERTARGETMANAGER_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator