#ifndef OPENMW_MWRENDER_RENDERINGMANAGER_H #define OPENMW_MWRENDER_RENDERINGMANAGER_H #include #include #include "objects.hpp" #include "renderinginterface.hpp" namespace osg { class Group; } namespace Resource { class ResourceSystem; } namespace osgViewer { class Viewer; } namespace ESM { struct Cell; } namespace MWRender { class RenderingManager : public MWRender::RenderingInterface { public: RenderingManager(osgViewer::Viewer& viewer, osg::ref_ptr rootNode, Resource::ResourceSystem* resourceSystem); MWRender::Objects& getObjects(); MWRender::Actors& getActors(); Resource::ResourceSystem* getResourceSystem(); void configureAmbient(const ESM::Cell* cell); void removeCell(const MWWorld::CellStore* store); osg::Vec3f getEyePos(); private: osgViewer::Viewer& mViewer; osg::ref_ptr mRootNode; Resource::ResourceSystem* mResourceSystem; osg::ref_ptr mSunLight; std::auto_ptr mObjects; }; } #endif