#include "CmApplication.h" #include "CmRenderSystem.h" #include "CmRenderSystemManager.h" #include "CmPlatform.h" #include "CmHardwareBufferManager.h" #include "CmRenderWindow.h" #include "CmViewport.h" #include "CmVector2.h" #include "CmHighLevelGpuProgram.h" #include "CmHighLevelGpuProgramManager.h" #include "CmCoreObjectManager.h" #include "CmGameObjectManager.h" #include "CmDynLib.h" #include "CmDynLibManager.h" #include "CmSceneManager.h" #include "CmImporter.h" #include "CmResources.h" #include "CmMesh.h" #include "CmSceneObject.h" #include "CmTime.h" #include "CmInput.h" #include "CmRendererManager.h" #include "CmMeshManager.h" #include "CmMaterialManager.h" #include "CmFontManager.h" #include "CmRenderWindowManager.h" #include "CmRenderer.h" #include "CmDeferredCallManager.h" #include "CmCoreThread.h" #include "CmStringTable.h" #include "CmProfiler.h" #include "CmQueryManager.h" #include "BsThreadPool.h" #include "BsThreadPolicy.h" #include "CmMaterial.h" #include "CmShader.h" #include "CmTechnique.h" #include "CmPass.h" #include "CmRendererManager.h" namespace BansheeEngine { Application::Application() :mPrimaryWindow(nullptr), mIsFrameRenderingFinished(true), mRunMainLoop(false), mSceneManagerPlugin(nullptr) { } void Application::startUp(START_UP_DESC& desc) { UINT32 numWorkerThreads = CM_THREAD_HARDWARE_CONCURRENCY - 1; // Number of cores while excluding current thread. Platform::startUp(); MemStack::beginThread(); Profiler::startUp(cm_new()); ThreadPool::startUp(cm_new>(numWorkerThreads)); StringTable::startUp(cm_new()); DeferredCallManager::startUp(cm_new()); Time::startUp(cm_new