Basic help needed

GeneralLee

15-11-2010 19:42:05

Hello, after using OgrePhysX I decided to move to NxOgre

so here is my code:

Critter::RenderSystem * rs;
NxOgre::Scene * mPhysXScene;
NxOgre::World * mWorld;
Ogre::Root * mRoot;
Ogre::RenderWindow * rw;
Ogre::SceneManager * mSceneMgr;
OIS::InputManager * mInputMgr;
OIS::Mouse *mMouse;
OIS::Keyboard * mKeyboard;
Ogre::Camera * camera;
Ogre::Timer * timer;


int main()
{
mRoot = new Ogre::Root();
mWorld = NxOgre::World::createWorld();
Ogre::ResourceGroupManager::getSingleton().addResourceLocation("models", "FileSystem");
mSceneMgr = mRoot->createSceneManager(Ogre::ST_INTERIOR);
NxOgre::SceneDescription scene_description;
scene_description.mGravity = NxOgre::Constants::MEAN_EARTH_GRAVITY;
scene_description.mUseHardware = false;
mPhysXScene = mWorld->createScene(scene_description);
mPhysXScene->getMaterial(0)->setAll(0.1, 0.9, 0.5);
mPhysXScene->createSceneGeometry(NxOgre::PlaneGeometryDescription());
rs = new Critter::RenderSystem(mPhysXScene, mSceneMgr);
rw = mRoot->initialise(true,"Fake and Gay");

for(NxOgre::Real i=0;i<100;i++)
{
makeBox(NxOgre::Vec3(0,0.5+i,0.5));
}





timer= mRoot->getTimer();
SetupInput();
Ogre::Light* pointLight = mSceneMgr->createLight("pointLight");
pointLight->setType(Ogre::Light::LT_POINT);
pointLight->setPosition(Ogre::Vector3(0, 0, 0));
mSceneMgr->setAmbientLight(Ogre::ColourValue(0.6, 0.6, 0.6));
mSceneMgr->setShadowTechnique(Ogre::SHADOWDETAILTYPE_STENCIL);
camera = mSceneMgr->createCamera("fake and gay");
camera->setNearClipDistance(5);
camera->setFarClipDistance(100000000);
camera->setPosition(20,20,20);
camera->lookAt(0,0,0);
Ogre::Viewport* vp = rw->addViewport(camera);
vp->setBackgroundColour(Ogre::ColourValue(0,0,0));
camera->setAspectRatio((Ogre::Real)1.3333333);
float currentTime = 0;

float mTimeSinceLastFrame;
float mLastUpdateMs = 0;
while(true)
{
currentTime = timer->getMicroseconds();
mTimeSinceLastFrame= currentTime-mLastUpdateMs;
mLastUpdateMs = currentTime;
Ogre::WindowEventUtilities::messagePump();



capture();
handleCamera(mTimeSinceLastFrame * 0.001);
mRoot->renderOneFrame();
}

}


So Ogre::InvalidStateException appears at this point:

rw = mRoot->initialise(true,"Fake and Gay");


So what may be the problem?