Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Aug 24, 2009, 3:03:44 PM (15 years ago)
Author:
rgrieder
Message:

Merged most of revision 5614 and its fixes from revisions 5628, 5658, 5662 and 5670:

  • Creating Ogre::Root in non graphics mode as well. This allows to always make use of the ResourceGroupManager.
  • Switched to smart pointers for the destruction code in GraphicsManager
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/resource3/src/core/GraphicsManager.h

    r3370 r5677  
    4242#include <string>
    4343#include <OgreLog.h>
     44#include <boost/scoped_ptr.hpp>
     45
    4446#include "util/Singleton.h"
    4547#include "OrxonoxClass.h"
     
    4749namespace orxonox
    4850{
     51    using boost::scoped_ptr;
     52
    4953    /**
    5054    @brief
     
    5559        friend class Singleton<GraphicsManager>;
    5660    public:
    57         GraphicsManager();
     61        GraphicsManager(bool bLoadRenderer = true);
    5862        ~GraphicsManager();
    5963
     
    6266        void update(const Clock& time);
    6367
    64         inline Ogre::Viewport* getViewport()
    65             { return this->viewport_; }
    66         inline Ogre::RenderWindow* getRenderWindow()
    67             { return this->renderWindow_; }
     68        Ogre::Viewport* getViewport()         { return this->viewport_; }
     69        Ogre::RenderWindow* getRenderWindow() { return this->renderWindow_; }
     70
     71        void upgradeToGraphics();
     72        bool rendererLoaded() const { return renderWindow_ != NULL; }
    6873
    6974        void setCamera(Ogre::Camera* camera);
     
    7378
    7479        // OGRE initialisation
    75         void setupOgre();
     80        void loadOgreRoot();
    7681        void loadOgrePlugins();
    7782        void declareResources();
     
    8792
    8893    private:
    89         Ogre::Root*         ogreRoot_;                 //!< Ogre's root
    90         Ogre::LogManager*   ogreLogger_;
     94        scoped_ptr<OgreWindowEventListener> ogreWindowEventListener_; //!< Pimpl to hide OgreWindowUtilities.h
     95        scoped_ptr<Ogre::LogManager>        ogreLogger_;
     96        scoped_ptr<Ogre::Root>              ogreRoot_;                //!< Ogre's root
    9197        Ogre::RenderWindow* renderWindow_;             //!< the one and only render window
    9298        Ogre::Viewport*     viewport_;                 //!< default full size viewport
    93         OgreWindowEventListener* ogreWindowEventListener_; //!< Pimpl to hide OgreWindowUtilities.h
    9499
    95100        // config values
Note: See TracChangeset for help on using the changeset viewer.