Bubble up render settings from CPP to JS/QML
Showing the changes to interface/src/Application.cpp (1 of 31 files). Show all
Unified · Split
| @@ -102,7 +102,6 @@ · 101 unmodified lines | ||
| 102 | 102 | #include <RenderShadowTask.h> |
| 103 | 103 | #include <RenderDeferredTask.h> |
| 104 | 104 | #include <ResourceCache.h> |
| 105 | −#include <RenderScriptingInterface.h> | |
| 106 | 105 | #include <SceneScriptingInterface.h> |
| 107 | 106 | #include <RecordingScriptingInterface.h> |
| 108 | 107 | #include <ScriptCache.h> |
| @@ -363,7 +362,6 @@ bool setupEssentials(int& argc, char** argv) { · 254 unmodified lines | ||
| 363 | 362 | #endif |
| 364 | 363 | DependencyManager::set<DiscoverabilityManager>(); |
| 365 | 364 | DependencyManager::set<SceneScriptingInterface>(); |
| 366 | − DependencyManager::set<RenderScriptingInterface>(); | |
| 367 | 365 | DependencyManager::set<OffscreenUi>(); |
| 368 | 366 | DependencyManager::set<AutoUpdater>(); |
| 369 | 367 | DependencyManager::set<PathUtils>(); |
| @@ -675,12 +673,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : · 305 unmodified lines | ||
| 675 | 673 | _offscreenContext->makeCurrent(); |
| 676 | 674 | initializeGL(); |
| 677 | 675 | |
| 678 | − // Start rendering | |
| 679 | − render::CullFunctor cullFunctor = LODManager::shouldRender; | |
| 680 | − _renderEngine->addTask(make_shared<RenderShadowTask>(cullFunctor)); | |
| 681 | − _renderEngine->addTask(make_shared<RenderDeferredTask>(cullFunctor)); | |
| 682 | − _renderEngine->registerScene(_main3DScene); | |
| 683 | − | |
| 684 | 676 | _offscreenContext->makeCurrent(); |
| 685 | 677 | |
| 686 | 678 | // Tell our entity edit sender about our known jurisdictions |
| @@ -1151,9 +1143,17 @@ void Application::initializeGL() { · 464 unmodified lines | ||
| 1151 | 1143 | initDisplay(); |
| 1152 | 1144 | qCDebug(interfaceapp, "Initialized Display."); |
| 1153 | 1145 | |
| 1146 | + // Set up the render engine | |
| 1147 | + render::CullFunctor cullFunctor = LODManager::shouldRender; | |
| 1148 | + _renderEngine->addJob<RenderShadowTask>("RenderShadowTask", cullFunctor); | |
| 1149 | + _renderEngine->addJob<RenderDeferredTask>("RenderDeferredTask", cullFunctor); | |
| 1150 | + _renderEngine->registerScene(_main3DScene); | |
| 1151 | + // TODO: Load a cached config file | |
| 1152 | + | |
| 1154 | 1153 | // The UI can't be created until the primary OpenGL |
| 1155 | 1154 | // context is created, because it needs to share |
| 1156 | 1155 | // texture resources |
| 1156 | + // Needs to happen AFTER the render engine initialization to access its configuration | |
| 1157 | 1157 | initializeUi(); |
| 1158 | 1158 | qCDebug(interfaceapp, "Initialized Offscreen UI."); |
| 1159 | 1159 | _offscreenContext->makeCurrent(); |
| @@ -1251,7 +1251,7 @@ void Application::initializeUi() { · 91 unmodified lines | ||
| 1251 | 1251 | rootContext->setContextProperty("Paths", DependencyManager::get<PathUtils>().data()); |
| 1252 | 1252 | rootContext->setContextProperty("HMD", DependencyManager::get<HMDScriptingInterface>().data()); |
| 1253 | 1253 | rootContext->setContextProperty("Scene", DependencyManager::get<SceneScriptingInterface>().data()); |
| 1254 | − rootContext->setContextProperty("Render", DependencyManager::get<RenderScriptingInterface>().data()); | |
| 1254 | + rootContext->setContextProperty("Render", _renderEngine->getConfiguration().get()); | |
| 1255 | 1255 | |
| 1256 | 1256 | _glWidget->installEventFilter(offscreenUi.data()); |
| 1257 | 1257 | offscreenUi->setMouseTranslator([=](const QPointF& pt) { |
| @@ -3769,29 +3769,13 @@ void Application::displaySide(RenderArgs* renderArgs, Camera& theCamera, bool se · 2511 unmodified lines | ||
| 3769 | 3769 | { |
| 3770 | 3770 | PerformanceTimer perfTimer("EngineRun"); |
| 3771 | 3771 | |
| 3772 | − auto renderInterface = DependencyManager::get<RenderScriptingInterface>(); | |
| 3773 | − auto renderContext = renderInterface->getRenderContext(); | |
| 3774 | − | |
| 3775 | 3772 | renderArgs->_viewFrustum = getDisplayViewFrustum(); |
| 3776 | − renderContext.setArgs(renderArgs); | |
| 3777 | − | |
| 3778 | − bool occlusionStatus = Menu::getInstance()->isOptionChecked(MenuOption::DebugAmbientOcclusion); | |
| 3779 | − bool shadowStatus = Menu::getInstance()->isOptionChecked(MenuOption::DebugShadows); | |
| 3780 | − bool antialiasingStatus = Menu::getInstance()->isOptionChecked(MenuOption::Antialiasing); | |
| 3781 | − bool showOwnedStatus = Menu::getInstance()->isOptionChecked(MenuOption::PhysicsShowOwned); | |
| 3782 | − renderContext.setOptions(occlusionStatus, antialiasingStatus, showOwnedStatus, shadowStatus); | |
| 3783 | − | |
| 3784 | − _renderEngine->setRenderContext(renderContext); | |
| 3773 | + _renderEngine->getRenderContext()->args = renderArgs; | |
| 3785 | 3774 | |
| 3786 | 3775 | // Before the deferred pass, let's try to use the render engine |
| 3787 | 3776 | myAvatar->startRenderRun(); |
| 3788 | 3777 | _renderEngine->run(); |
| 3789 | 3778 | myAvatar->endRenderRun(); |
| 3790 | − | |
| 3791 | − auto engineContext = _renderEngine->getRenderContext(); | |
| 3792 | − renderInterface->setItemCounts(engineContext->getItemsConfig()); | |
| 3793 | − renderInterface->setJobGPUTimes(engineContext->getAmbientOcclusion().gpuTime); | |
| 3794 | − | |
| 3795 | 3779 | } |
| 3796 | 3780 | |
| 3797 | 3781 | activeRenderingThread = nullptr; |
| @@ -4200,7 +4184,7 @@ void Application::registerScriptEngineWithApplicationServices(ScriptEngine* scri · 402 unmodified lines | ||
| 4200 | 4184 | scriptEngine->registerFunction("HMD", "getHUDLookAtPosition3D", HMDScriptingInterface::getHUDLookAtPosition3D, 0); |
| 4201 | 4185 | |
| 4202 | 4186 | scriptEngine->registerGlobalObject("Scene", DependencyManager::get<SceneScriptingInterface>().data()); |
| 4203 | − scriptEngine->registerGlobalObject("Render", DependencyManager::get<RenderScriptingInterface>().data()); | |
| 4187 | + scriptEngine->registerGlobalObject("Render", _renderEngine->getConfiguration().get()); | |
| 4204 | 4188 | |
| 4205 | 4189 | scriptEngine->registerGlobalObject("ScriptDiscoveryService", DependencyManager::get<ScriptEngines>().data()); |
| 4206 | 4190 | } |