void initialise(Ogre::RenderWindow* _window, Ogre::SceneManager* _scene) { MYGUI_PLATFORM_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice"); MYGUI_PLATFORM_LOG(Info, "* Initialise: " << getClassTypeName()); mColorBlendMode.blendType = Ogre::LBT_COLOUR; mColorBlendMode.source1 = Ogre::LBS_TEXTURE; mColorBlendMode.source2 = Ogre::LBS_DIFFUSE; mColorBlendMode.operation = Ogre::LBX_MODULATE; mAlphaBlendMode.blendType = Ogre::LBT_ALPHA; mAlphaBlendMode.source1 = Ogre::LBS_TEXTURE; mAlphaBlendMode.source2 = Ogre::LBS_DIFFUSE; mAlphaBlendMode.operation = Ogre::LBX_MODULATE; mTextureAddressMode.u = Ogre::TextureUnitState::TAM_CLAMP; mTextureAddressMode.v = Ogre::TextureUnitState::TAM_CLAMP; mTextureAddressMode.w = Ogre::TextureUnitState::TAM_CLAMP; mSceneManager = nullptr; mWindow = nullptr; mUpdate = false; mRenderSystem = nullptr; mActiveViewport = 0; Ogre::Root* root = Ogre::Root::getSingletonPtr(); if (root != nullptr) setRenderSystem(root->getRenderSystem()); setRenderWindow(_window); setSceneManager(_scene); MYGUI_PLATFORM_LOG(Info, getClassTypeName() << " successfully initialized"); mIsInitialise = true; }
void initialise(Ogre::RenderWindow* _window, Ogre::SceneManager* _scene) { MYGUI_PLATFORM_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice"); MYGUI_PLATFORM_LOG(Info, "* Initialise: " << getClassTypeName()); mColorBlendMode.blendType = Ogre::LBT_COLOUR; mColorBlendMode.source1 = Ogre::LBS_TEXTURE; mColorBlendMode.source2 = Ogre::LBS_DIFFUSE; mColorBlendMode.operation = Ogre::LBX_MODULATE; mAlphaBlendMode.blendType = Ogre::LBT_ALPHA; mAlphaBlendMode.source1 = Ogre::LBS_TEXTURE; mAlphaBlendMode.source2 = Ogre::LBS_DIFFUSE; mAlphaBlendMode.operation = Ogre::LBX_MODULATE; mTextureAddressMode.u = Ogre::TextureUnitState::TAM_CLAMP; mTextureAddressMode.v = Ogre::TextureUnitState::TAM_CLAMP; mTextureAddressMode.w = Ogre::TextureUnitState::TAM_CLAMP; mSceneManager = nullptr; mWindow = nullptr; mUpdate = false; mRenderSystem = nullptr; mActiveViewport = 0; Ogre::Root* root = Ogre::Root::getSingletonPtr(); if (root != nullptr) setRenderSystem(root->getRenderSystem()); setRenderWindow(_window); setSceneManager(_scene); // ADDED sh::MaterialInstance* mat = sh::Factory::getInstance().getMaterialInstance("MyGUI/NoTexture"); sh::Factory::getInstance()._ensureMaterial("MyGUI/NoTexture", "Default"); mVertexProgramNoTexture = static_cast<sh::OgreMaterial*>(mat->getMaterial())->getOgreTechniqueForConfiguration("Default")->getPass(0) ->getVertexProgram()->_getBindingDelegate(); mat = sh::Factory::getInstance().getMaterialInstance("MyGUI/OneTexture"); sh::Factory::getInstance()._ensureMaterial("MyGUI/OneTexture", "Default"); mVertexProgramOneTexture = static_cast<sh::OgreMaterial*>(mat->getMaterial())->getOgreTechniqueForConfiguration("Default")->getPass(0) ->getVertexProgram()->_getBindingDelegate(); mat = sh::Factory::getInstance().getMaterialInstance("MyGUI/NoTexture"); sh::Factory::getInstance()._ensureMaterial("MyGUI/NoTexture", "Default"); mFragmentProgramNoTexture = static_cast<sh::OgreMaterial*>(mat->getMaterial())->getOgreTechniqueForConfiguration("Default")->getPass(0) ->getFragmentProgram()->_getBindingDelegate(); mat = sh::Factory::getInstance().getMaterialInstance("MyGUI/OneTexture"); sh::Factory::getInstance()._ensureMaterial("MyGUI/OneTexture", "Default"); mFragmentProgramOneTexture = static_cast<sh::OgreMaterial*>(mat->getMaterial())->getOgreTechniqueForConfiguration("Default")->getPass(0) ->getFragmentProgram()->_getBindingDelegate(); MYGUI_PLATFORM_LOG(Info, getClassTypeName() << " successfully initialized"); mIsInitialise = true; }
void shutdown() { MYGUI_PLATFORM_ASSERT(mIsInitialise, getClassTypeName() << " is not initialised"); MYGUI_PLATFORM_LOG(Info, "* Shutdown: " << getClassTypeName()); destroyAllResources(); setSceneManager(nullptr); setRenderWindow(nullptr); setRenderSystem(nullptr); MYGUI_PLATFORM_LOG(Info, getClassTypeName() << " successfully shutdown"); mIsInitialise = false; }