2010-06-05 18:37:01 +00:00
|
|
|
#ifndef _GAME_RENDER_MWSCENE_H
|
|
|
|
#define _GAME_RENDER_MWSCENE_H
|
|
|
|
|
|
|
|
#include "ogre/renderer.hpp"
|
|
|
|
|
2010-06-06 11:36:45 +00:00
|
|
|
namespace Ogre
|
|
|
|
{
|
|
|
|
class Camera;
|
|
|
|
class Viewport;
|
|
|
|
class SceneManager;
|
|
|
|
class SceneNode;
|
|
|
|
}
|
|
|
|
|
2010-06-08 11:53:34 +00:00
|
|
|
namespace MWRender
|
2010-06-05 18:37:01 +00:00
|
|
|
{
|
|
|
|
/** Class responsible for Morrowind-specific interfaces to OGRE.
|
2010-06-06 11:48:20 +00:00
|
|
|
|
|
|
|
This might be refactored partially into a non-mw specific
|
|
|
|
counterpart in ogre/ at some point.
|
2010-06-05 18:37:01 +00:00
|
|
|
*/
|
|
|
|
class MWScene
|
|
|
|
{
|
2010-06-08 11:53:34 +00:00
|
|
|
Render::OgreRenderer &rend;
|
2010-06-05 18:37:01 +00:00
|
|
|
Ogre::SceneManager *sceneMgr;
|
|
|
|
Ogre::Camera *camera;
|
|
|
|
Ogre::Viewport *vp;
|
|
|
|
|
|
|
|
// Root node for all objects added to the scene. This is rotated so
|
|
|
|
// that the OGRE coordinate system matches that used internally in
|
|
|
|
// Morrowind.
|
|
|
|
Ogre::SceneNode *mwRoot;
|
|
|
|
|
|
|
|
public:
|
2010-06-08 11:53:34 +00:00
|
|
|
MWScene(Render::OgreRenderer &_rend);
|
2010-06-06 22:33:45 +00:00
|
|
|
|
|
|
|
Ogre::SceneNode *getRoot() { return mwRoot; }
|
|
|
|
Ogre::SceneManager *getMgr() { return sceneMgr; }
|
2010-06-12 12:45:54 +00:00
|
|
|
Ogre::Camera *getCamera() { return camera; }
|
|
|
|
Ogre::Viewport *getViewport() { return vp; }
|
2010-06-05 18:37:01 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|