openmw-tes3coop/apps/openmw/mwrender/renderingmanager.hpp

63 lines
1.1 KiB
C++
Raw Normal View History

#ifndef OPENMW_MWRENDER_RENDERINGMANAGER_H
#define OPENMW_MWRENDER_RENDERINGMANAGER_H
2011-10-20 19:02:19 +00:00
#include <osg/ref_ptr>
#include <osg/Light>
2011-11-12 05:19:22 +00:00
#include "objects.hpp"
2011-11-12 05:19:22 +00:00
#include "renderinginterface.hpp"
namespace osg
{
class Group;
}
namespace Resource
2011-10-20 19:02:19 +00:00
{
class ResourceSystem;
}
2011-10-20 19:02:19 +00:00
namespace osgViewer
2012-07-03 20:48:16 +00:00
{
class Viewer;
2012-07-03 20:48:16 +00:00
}
namespace ESM
{
struct Cell;
}
namespace MWRender
{
2012-08-12 11:50:37 +00:00
class RenderingManager : public MWRender::RenderingInterface
2013-04-29 12:50:40 +00:00
{
public:
RenderingManager(osgViewer::Viewer& viewer, osg::ref_ptr<osg::Group> rootNode, Resource::ResourceSystem* resourceSystem);
2014-01-17 09:52:44 +00:00
MWRender::Objects& getObjects();
MWRender::Actors& getActors();
Resource::ResourceSystem* getResourceSystem();
2011-11-04 03:47:15 +00:00
void configureAmbient(const ESM::Cell* cell);
2011-11-02 04:13:33 +00:00
void removeCell(const MWWorld::CellStore* store);
2013-02-27 08:20:42 +00:00
osg::Vec3f getEyePos();
2011-11-02 04:13:33 +00:00
private:
osgViewer::Viewer& mViewer;
osg::ref_ptr<osg::Group> mRootNode;
Resource::ResourceSystem* mResourceSystem;
osg::ref_ptr<osg::Light> mSunLight;
2012-04-11 16:53:13 +00:00
std::auto_ptr<Objects> mObjects;
};
2011-10-20 19:02:19 +00:00
}
#endif