//-------------------------------------------------------------------------------// Root::Root(const String& configName, const String& logName) :mWindow(0), mLogMgr(0), mActiveRenderer(0), mConfigFileName(configName), mSceneMgrSelector(0), mFileSystemMgr(0), mResourceGroupMgr(0), mFontMgr(0) { mTimer = TITAN_NEW Timer(); mLogMgr = TITAN_NEW LogMgr(logName, false); mSceneMgrSelector = TITAN_NEW SceneMgrSelector(); mSceneMgrSelector->addFactory(TITAN_NEW QuadtreeSceneMgrFactory()); addSceneObjectFactory(TITAN_NEW ManualObjectFactory()); #if TITAN_USE_NEW_D11_RENDERER #ifdef _DEBUG loadPlugin("Plugin_D3D11Renderer_d.dll"); #else loadPlugin("Plugin_D3D11Renderer.dll"); #endif #else #ifdef _DEBUG loadPlugin("Plugin_D3D9Renderer_d.dll"); #else loadPlugin("Plugin_D3D9Renderer.dll"); #endif #endif mActiveRenderer = mRendererVector[0]; mFileSystemMgr = TITAN_NEW FileSystemManager(); mFileSystemMgr->addFileSystemFactory(TITAN_NEW CommonFileSystemFactory()); mResourceGroupMgr = TITAN_NEW ResourceGroupMgr(); mScriptCompilerMgr = TITAN_NEW ScriptCompilerMgr(); mMaterialMgr = TITAN_NEW MaterialMgr(); mOverlayMgr = TITAN_NEW OverlayMgr(); mFontMgr = TITAN_NEW FontMgr(); }
//----------------------------------------------------------------------- Root::Root(const String& pluginFileName, const String& configFileName, const String& logFileName) : mLogManager(0) , mRenderSystemCapabilitiesManager(0) , mNextFrame(0) , mFrameSmoothingTime(0.0f) , mNextMovableObjectTypeFlag(1) , mIsInitialised(false) { // superclass will do singleton checking String msg; // Init mActiveRenderer = 0; mVersion = StringConverter::toString(OGRE_VERSION_MAJOR) + "." + StringConverter::toString(OGRE_VERSION_MINOR) + "." + StringConverter::toString(OGRE_VERSION_PATCH) + OGRE_VERSION_SUFFIX + " " + "(" + OGRE_VERSION_NAME + ")"; mConfigFileName = configFileName; // Create log manager and default log file if there is no log manager yet if(LogManager::getSingletonPtr() == 0) { mLogManager = OGRE_NEW LogManager(); mLogManager->createLog(logFileName, true, true); } // Dynamic library manager mDynLibManager = OGRE_NEW DynLibManager(); mArchiveManager = OGRE_NEW ArchiveManager(); // ResourceGroupManager mResourceGroupManager = OGRE_NEW ResourceGroupManager(); // ResourceBackgroundQueue mResourceBackgroundQueue = OGRE_NEW ResourceBackgroundQueue(); // Create SceneManager enumerator (note - will be managed by singleton) mSceneManagerEnum = OGRE_NEW SceneManagerEnumerator(); mCurrentSceneManager = NULL; mShadowTextureManager = OGRE_NEW ShadowTextureManager(); mRenderSystemCapabilitiesManager = OGRE_NEW RenderSystemCapabilitiesManager(); // ..material manager mMaterialManager = OGRE_NEW MaterialManager(); // Mesh manager mMeshManager = OGRE_NEW MeshManager(); // Skeleton manager mSkeletonManager = OGRE_NEW SkeletonManager(); // ..particle system manager mParticleManager = OGRE_NEW ParticleSystemManager(); // Compiler manager //mCompilerManager = OGRE_NEW ScriptCompilerManager(); mTimer = OGRE_NEW Timer(); // Overlay manager mOverlayManager = OGRE_NEW OverlayManager(); mPanelFactory = OGRE_NEW PanelOverlayElementFactory(); mOverlayManager->addOverlayElementFactory(mPanelFactory); mBorderPanelFactory = OGRE_NEW BorderPanelOverlayElementFactory(); mOverlayManager->addOverlayElementFactory(mBorderPanelFactory); mTextAreaFactory = OGRE_NEW TextAreaOverlayElementFactory(); mOverlayManager->addOverlayElementFactory(mTextAreaFactory); // Font manager mFontManager = OGRE_NEW FontManager(); #if OGRE_PROFILING // Profiler mProfiler = OGRE_NEW Profiler(); Profiler::getSingleton().setTimer(mTimer); #endif mFileSystemArchiveFactory = OGRE_NEW FileSystemArchiveFactory(); ArchiveManager::getSingleton().addArchiveFactory( mFileSystemArchiveFactory ); mZipArchiveFactory = OGRE_NEW ZipArchiveFactory(); ArchiveManager::getSingleton().addArchiveFactory( mZipArchiveFactory ); #if OGRE_NO_FREEIMAGE == 0 // Register image codecs FreeImageCodec::startup(); #endif #if OGRE_NO_DEVIL == 0 // Register image codecs ILCodecs::registerCodecs(); #endif #if OGRE_NO_DDS_CODEC == 0 // Register image codecs DDSCodec::startup(); #endif mHighLevelGpuProgramManager = OGRE_NEW HighLevelGpuProgramManager(); mExternalTextureSourceManager = OGRE_NEW ExternalTextureSourceManager(); mCompositorManager = OGRE_NEW CompositorManager(); mCompilerManager = OGRE_NEW ScriptCompilerManager(); // Auto window mAutoWindow = 0; // instantiate and register base movable factories mEntityFactory = OGRE_NEW EntityFactory(); addMovableObjectFactory(mEntityFactory); mLightFactory = OGRE_NEW LightFactory(); addMovableObjectFactory(mLightFactory); mBillboardSetFactory = OGRE_NEW BillboardSetFactory(); addMovableObjectFactory(mBillboardSetFactory); mManualObjectFactory = OGRE_NEW ManualObjectFactory(); addMovableObjectFactory(mManualObjectFactory); mBillboardChainFactory = OGRE_NEW BillboardChainFactory(); addMovableObjectFactory(mBillboardChainFactory); mRibbonTrailFactory = OGRE_NEW RibbonTrailFactory(); addMovableObjectFactory(mRibbonTrailFactory); // Load plugins if (!pluginFileName.empty()) loadPlugins(pluginFileName); LogManager::getSingleton().logMessage("*-*-* OGRE Initialising"); msg = "*-*-* Version " + mVersion; LogManager::getSingleton().logMessage(msg); // Can't create managers until initialised mControllerManager = 0; mFirstTimePostWindowInit = false; }