00001 /* 00002 * minimap.h 00003 * 00004 * Created on: Jan 20, 2013 00005 * Author: sushil 00006 */ 00007 00008 #ifndef MINIMAP_H_ 00009 #define MINIMAP_H_ 00010 00011 #include <OgreFrameListener.h> 00012 #include <OgreRenderTargetListener.h> 00013 #include <OgreRectangle2D.h> 00014 #include <OgreTexture.h> 00015 #include <OgreRenderTexture.h> 00016 #include <OgreSceneNode.h> 00017 #include <OgreMaterialManager.h> 00018 00019 namespace OgreGFX { 00020 00021 class GraphicsInteractionManager; 00022 00023 class Minimap : public Ogre::FrameListener, public Ogre::RenderTargetListener { 00024 00025 public: 00026 Minimap(GraphicsInteractionManager *gim); 00027 virtual ~Minimap(void); 00028 00029 00030 protected: 00031 virtual bool frameRenderingQueued(const Ogre::FrameEvent& e); 00032 virtual void preRenderTargetUpdate(const Ogre::RenderTargetEvent& evt); 00033 virtual void postRenderTargetUpdate(const Ogre::RenderTargetEvent& evt); 00034 00035 void init(void); 00036 00037 GraphicsInteractionManager *gfx; 00038 Ogre::Camera* minimapCamera; 00039 00040 00041 //Ogre::MovablePlane *mPlane; 00042 //Ogre::Entity *mPlaneEntity; 00043 //Ogre::SceneNode *mPlaneNode; 00044 00045 Ogre::TexturePtr rttt; 00046 Ogre::RenderTexture *renderTexture; 00047 Ogre::MaterialPtr renderMaterial; 00048 Ogre::Rectangle2D *minimap; 00049 Ogre::SceneNode *minimapSceneNode; 00050 00051 private: 00052 Ogre::Camera *createMinimapCamera(void); 00053 Ogre::Real updatePeriod; 00054 const Ogre::Real DEFAULT_MINIMAP_UPDATE_PERIOD;// = 2.0; 00055 00056 }; 00057 00058 } 00059 00060 #endif /* MINIMAP_H_ */