void rtt::clear(unsigned buffers, const colour &c, float d, unsigned s) { assert(_viewport); Ogre::RenderSystem *rs = Ogre::Root::getSingleton().getRenderSystem(); rs->_setViewport(_viewport); rs->clearFrameBuffer(buffers, c, d, s); }
void OgreRTTexture::end() { Ogre::RenderSystem* system = Ogre::Root::getSingleton().getRenderSystem(); system->_setViewport(mSaveViewport); #if OGRE_VERSION >= MYGUI_DEFINE_VERSION(1, 7, 0) && OGRE_NO_VIEWPORT_ORIENTATIONMODE == 0 Ogre::OrientationMode orient = mSaveViewport->getOrientationMode(); system->_setProjectionMatrix(Ogre::Matrix4::IDENTITY * Ogre::Quaternion(Ogre::Degree(orient * 90.f), Ogre::Vector3::UNIT_Z)); #else system->_setProjectionMatrix(Ogre::Matrix4::IDENTITY); #endif }
void OgreRTTexture::begin() { Ogre::RenderTexture* rtt = mTexture->getBuffer()->getRenderTarget(); if (mViewport == nullptr) { mViewport = rtt->addViewport(nullptr); mViewport->setClearEveryFrame(false); mViewport->setOverlaysEnabled(false); } Ogre::RenderSystem* system = Ogre::Root::getSingleton().getRenderSystem(); system->_setProjectionMatrix(mProjectMatrix); mSaveViewport = system->_getViewport(); system->_setViewport(mViewport); system->clearFrameBuffer(Ogre::FBT_COLOUR, Ogre::ColourValue::ZERO); }