Ogre::Root* OgreEngine::startEngine() { m_resources_cfg = "resources.cfg"; activateOgreContext(); Ogre::Root *ogreRoot = new Ogre::Root; Ogre::RenderSystem *renderSystem = ogreRoot->getRenderSystemByName("OpenGL Rendering Subsystem"); ogreRoot->setRenderSystem(renderSystem); ogreRoot->initialise(false); Ogre::NameValuePairList params; params["externalGLControl"] = "true"; params["currentGLContext"] = "true"; //Finally create our window. m_ogreWindow = ogreRoot->createRenderWindow("OgreWindow", 1, 1, false, ¶ms); m_ogreWindow->setVisible(false); m_ogreWindow->update(false); doneOgreContext(); return ogreRoot; }
void OgreNode::update() { if (mDirtyFBO) { activateOgreContext(); updateFBO(); mOgreFboId = getOgreFboId(); mDirtyFBO = false; doneOgreContext(); } }
void OgreNode::preprocess() { activateOgreContext(); mRenderTarget->update(true); doneOgreContext(); }