void OgreApp::startDemo(void* uiWindow, void* uiView, unsigned int width, unsigned int height, const char* name) #endif { globals.playerName = name; new OgreFramework(); #if !defined(OGRE_IS_IOS) if (!OgreFramework::getSingletonPtr()->initOgre(this, this)) return; #else if (!OgreFramework::getSingletonPtr()->initOgre(uiWindow, uiView, width, height)) return; #endif m_bShutdown = false; OgreFramework::getSingletonPtr()->m_pLog->logMessage("Demo initialized!"); #ifdef INCLUDE_RTSHADER_SYSTEM initialiseRTShaderSystem(OgreFramework::getSingletonPtr()->m_pSceneMgrMain); Ogre::MaterialPtr baseWhite = Ogre::MaterialManager::getSingleton().getByName("BaseWhite", Ogre::ResourceGroupManager::INTERNAL_RESOURCE_GROUP_NAME); baseWhite->setLightingEnabled(false); mShaderGenerator->createShaderBasedTechnique( "BaseWhite", Ogre::MaterialManager::DEFAULT_SCHEME_NAME, Ogre::RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME); mShaderGenerator->validateMaterial(Ogre::RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME, "BaseWhite"); baseWhite->getTechnique(0)->getPass(0)->setVertexProgram( baseWhite->getTechnique(1)->getPass(0)->getVertexProgram()->getName()); baseWhite->getTechnique(0)->getPass(0)->setFragmentProgram( baseWhite->getTechnique(1)->getPass(0)->getFragmentProgram()->getName()); // creates shaders for base material BaseWhiteNoLighting using the RTSS mShaderGenerator->createShaderBasedTechnique( "BaseWhiteNoLighting", Ogre::MaterialManager::DEFAULT_SCHEME_NAME, Ogre::RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME); mShaderGenerator->validateMaterial(Ogre::RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME, "BaseWhiteNoLighting"); Ogre::MaterialPtr baseWhiteNoLighting = Ogre::MaterialManager::getSingleton().getByName("BaseWhiteNoLighting", Ogre::ResourceGroupManager::INTERNAL_RESOURCE_GROUP_NAME); baseWhiteNoLighting->getTechnique(0)->getPass(0)->setVertexProgram( baseWhiteNoLighting->getTechnique(1)->getPass(0)->getVertexProgram()->getName()); baseWhiteNoLighting->getTechnique(0)->getPass(0)->setFragmentProgram( baseWhiteNoLighting->getTechnique(1)->getPass(0)->getFragmentProgram()->getName()); #endif setupDemoScene(); #if !((OGRE_PLATFORM == OGRE_PLATFORM_APPLE) && __LP64__) runDemo(); #endif }
void ApplicationContext::setup() { mWindow = createWindow(); setupInput(mGrabInput); locateResources(); #ifdef OGRE_BUILD_COMPONENT_RTSHADERSYSTEM initialiseRTShaderSystem(); #endif loadResources(); // adds context as listener to process context-level (above the sample level) events mRoot->addFrameListener(this); #if OGRE_PLATFORM != OGRE_PLATFORM_ANDROID Ogre::WindowEventUtilities::addWindowEventListener(mWindow, this); #endif }
void DemoApp::startDemo() { new OgreFramework(); if(!OgreFramework::getSingletonPtr()->initOgre("DemoApp v1.0", this, 0)) return; m_bShutdown = false; OgreFramework::getSingletonPtr()->m_pLog->logMessage("Demo initialized!"); #ifdef INCLUDE_RTSHADER_SYSTEM initialiseRTShaderSystem(OgreFramework::getSingletonPtr()->m_pSceneMgr); Ogre::MaterialPtr baseWhite = Ogre::MaterialManager::getSingleton().getByName("BaseWhite", Ogre::ResourceGroupManager::INTERNAL_RESOURCE_GROUP_NAME); baseWhite->setLightingEnabled(false); mShaderGenerator->createShaderBasedTechnique( "BaseWhite", Ogre::MaterialManager::DEFAULT_SCHEME_NAME, Ogre::RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME); mShaderGenerator->validateMaterial(Ogre::RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME, "BaseWhite"); baseWhite->getTechnique(0)->getPass(0)->setVertexProgram( baseWhite->getTechnique(1)->getPass(0)->getVertexProgram()->getName()); baseWhite->getTechnique(0)->getPass(0)->setFragmentProgram( baseWhite->getTechnique(1)->getPass(0)->getFragmentProgram()->getName()); // creates shaders for base material BaseWhiteNoLighting using the RTSS mShaderGenerator->createShaderBasedTechnique( "BaseWhiteNoLighting", Ogre::MaterialManager::DEFAULT_SCHEME_NAME, Ogre::RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME); mShaderGenerator->validateMaterial(Ogre::RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME, "BaseWhiteNoLighting"); Ogre::MaterialPtr baseWhiteNoLighting = Ogre::MaterialManager::getSingleton().getByName("BaseWhiteNoLighting", Ogre::ResourceGroupManager::INTERNAL_RESOURCE_GROUP_NAME); baseWhiteNoLighting->getTechnique(0)->getPass(0)->setVertexProgram( baseWhiteNoLighting->getTechnique(1)->getPass(0)->getVertexProgram()->getName()); baseWhiteNoLighting->getTechnique(0)->getPass(0)->setFragmentProgram( baseWhiteNoLighting->getTechnique(1)->getPass(0)->getFragmentProgram()->getName()); #endif setupDemoScene(); #if !((OGRE_PLATFORM == OGRE_PLATFORM_APPLE) && __LP64__) runDemo(); #endif }
void ApplicationContext::createDummyScene() { mWindow->removeAllViewports(); Ogre::SceneManager* sm = mRoot->createSceneManager(Ogre::ST_GENERIC, "DummyScene"); sm->addRenderQueueListener(mOverlaySystem); Ogre::Camera* cam = sm->createCamera("DummyCamera"); mWindow->addViewport(cam); #ifdef OGRE_BUILD_COMPONENT_RTSHADERSYSTEM // Initialize shader generator. // Must be before resource loading in order to allow parsing extended material attributes. if (!initialiseRTShaderSystem()) { OGRE_EXCEPT(Ogre::Exception::ERR_FILE_NOT_FOUND, "Shader Generator Initialization failed - Core shader libs path not found", "ApplicationContext::createDummyScene"); } mShaderGenerator->addSceneManager(sm); #endif // OGRE_BUILD_COMPONENT_RTSHADERSYSTEM }