Showing the changes to interface/src/scripting/RenderScriptingInterface.cpp (1 of 201 files). Show all
Unified · Split
| @@ -25,14 +25,14 @@ STATIC_SCRIPT_TYPES_INITIALIZER((+[](ScriptManager* manager){ · 24 unmodified lines | |||
| 25 | auto scriptEngine = manager->engine().get(); | 25 | auto scriptEngine = manager->engine().get(); |
| 26 | 26 | ||
| 27 | scriptRegisterMetaType<RenderScriptingInterface::RenderMethod, scriptValueFromEnumClass<RenderScriptingInterface::RenderMethod>, scriptValueToEnumClass<RenderScriptingInterface::RenderMethod> >(scriptEngine, "RenderMethod"); | 27 | scriptRegisterMetaType<RenderScriptingInterface::RenderMethod, scriptValueFromEnumClass<RenderScriptingInterface::RenderMethod>, scriptValueToEnumClass<RenderScriptingInterface::RenderMethod> >(scriptEngine, "RenderMethod"); |
| 28 | scriptRegisterMetaType<AntialiasingConfig::Mode, scriptValueFromEnumClass<AntialiasingConfig::Mode>, scriptValueToEnumClass<AntialiasingConfig::Mode> >(scriptEngine, "Mode"); | 28 | scriptRegisterMetaType<AntialiasingSetupConfig::Mode, scriptValueFromEnumClass<AntialiasingSetupConfig::Mode>, scriptValueToEnumClass<AntialiasingSetupConfig::Mode> >(scriptEngine, "Mode"); |
| 29 | })); | 29 | })); |
| 30 | 30 | ||
| 31 | STATIC_SCRIPT_INITIALIZER(+[](ScriptManager* manager){ | 31 | STATIC_SCRIPT_INITIALIZER(+[](ScriptManager* manager){ |
| 32 | auto scriptEngine = manager->engine().get(); | 32 | auto scriptEngine = manager->engine().get(); |
| 33 | 33 | ||
| 34 | scriptEngine->registerEnum("Render.RenderMethod",QMetaEnum::fromType<RenderScriptingInterface::RenderMethod>()); | 34 | scriptEngine->registerEnum("Render.RenderMethod",QMetaEnum::fromType<RenderScriptingInterface::RenderMethod>()); |
| 35 | scriptEngine->registerEnum("AntialiasingMode",QMetaEnum::fromType<AntialiasingConfig::Mode>()); | 35 | scriptEngine->registerEnum("AntialiasingMode",QMetaEnum::fromType<AntialiasingSetupConfig::Mode>()); |
| 36 | }); | 36 | }); |
| 37 | 37 | ||
| 38 | RenderScriptingInterface* RenderScriptingInterface::getInstance() { | 38 | RenderScriptingInterface* RenderScriptingInterface::getInstance() { |
| @@ -56,7 +56,7 @@ void RenderScriptingInterface::loadSettings() { · 17 unmodified lines | |||
| 56 | _bloomEnabled = _bloomEnabledSetting.get(); | 56 | _bloomEnabled = _bloomEnabledSetting.get(); |
| 57 | _ambientOcclusionEnabled = _ambientOcclusionEnabledSetting.get(); | 57 | _ambientOcclusionEnabled = _ambientOcclusionEnabledSetting.get(); |
| 58 | _proceduralMaterialsEnabled = _proceduralMaterialsEnabledSetting.get(); | 58 | _proceduralMaterialsEnabled = _proceduralMaterialsEnabledSetting.get(); |
| 59 | _antialiasingMode = static_cast<AntialiasingConfig::Mode>(_antialiasingModeSetting.get()); | 59 | _antialiasingMode = static_cast<AntialiasingSetupConfig::Mode>(_antialiasingModeSetting.get()); |
| 60 | _viewportResolutionScale = _viewportResolutionScaleSetting.get(); | 60 | _viewportResolutionScale = _viewportResolutionScaleSetting.get(); |
| 61 | _fullScreenScreen = _fullScreenScreenSetting.get(); | 61 | _fullScreenScreen = _fullScreenScreenSetting.get(); |
| 62 | }); | 62 | }); |
| @@ -95,9 +95,10 @@ void recursivelyUpdateMirrorRenderMethods(const QString& parentTaskName, int ren · 32 unmodified lines | |||
| 95 | return; | 95 | return; |
| 96 | } | 96 | } |
| 97 | 97 | ||
| 98 | auto renderConfig = qApp->getRenderEngine()->getConfiguration(); | ||
| 98 | for (size_t mirrorIndex = 0; mirrorIndex < RenderMirrorTask::MAX_MIRRORS_PER_LEVEL; mirrorIndex++) { | 99 | for (size_t mirrorIndex = 0; mirrorIndex < RenderMirrorTask::MAX_MIRRORS_PER_LEVEL; mirrorIndex++) { |
| 99 | std::string mirrorTaskString = parentTaskName.toStdString() + ".RenderMirrorView" + std::to_string(mirrorIndex) + "Depth" + std::to_string(depth) + ".DeferredForwardSwitch"; | 100 | std::string mirrorTaskString = parentTaskName.toStdString() + ".RenderMirrorView" + std::to_string(mirrorIndex) + "Depth" + std::to_string(depth) + ".DeferredForwardSwitch"; |
| 100 | auto mirrorConfig = dynamic_cast<render::SwitchConfig*>(qApp->getRenderEngine()->getConfiguration()->getConfig(QString::fromStdString(mirrorTaskString))); | 101 | auto mirrorConfig = dynamic_cast<render::SwitchConfig*>(renderConfig->getConfig(QString::fromStdString(mirrorTaskString))); |
| 101 | if (mirrorConfig) { | 102 | if (mirrorConfig) { |
| 102 | mirrorConfig->setBranch((int)renderMethod); | 103 | mirrorConfig->setBranch((int)renderMethod); |
| 103 | recursivelyUpdateMirrorRenderMethods(QString::fromStdString(mirrorTaskString) + (renderMethod == 1 ? ".RenderForwardTask" : ".RenderShadowsAndDeferredTask.RenderDeferredTask"), | 104 | recursivelyUpdateMirrorRenderMethods(QString::fromStdString(mirrorTaskString) + (renderMethod == 1 ? ".RenderForwardTask" : ".RenderShadowsAndDeferredTask.RenderDeferredTask"), |
| @@ -111,14 +112,20 @@ void RenderScriptingInterface::forceRenderMethod(RenderMethod renderMethod) { · 7 unmodified lines | |||
| 111 | _renderMethod = (int)renderMethod; | 112 | _renderMethod = (int)renderMethod; |
| 112 | _renderMethodSetting.set((int)renderMethod); | 113 | _renderMethodSetting.set((int)renderMethod); |
| 113 | 114 | ||
| 115 | auto renderConfig = qApp->getRenderEngine()->getConfiguration(); | ||
| 114 | QString configName = "RenderMainView.DeferredForwardSwitch"; | 116 | QString configName = "RenderMainView.DeferredForwardSwitch"; |
| 115 | auto config = dynamic_cast<render::SwitchConfig*>(qApp->getRenderEngine()->getConfiguration()->getConfig(configName)); | 117 | auto config = dynamic_cast<render::SwitchConfig*>(renderConfig->getConfig(configName)); |
| 116 | if (config) { | 118 | if (config) { |
| 117 | config->setBranch((int)renderMethod); | 119 | config->setBranch((int)renderMethod); |
| 118 | 120 | ||
| 119 | recursivelyUpdateMirrorRenderMethods(configName + (renderMethod == RenderMethod::FORWARD ? ".RenderForwardTask" : ".RenderShadowsAndDeferredTask.RenderDeferredTask"), | 121 | recursivelyUpdateMirrorRenderMethods(configName + (renderMethod == RenderMethod::FORWARD ? ".RenderForwardTask" : ".RenderShadowsAndDeferredTask.RenderDeferredTask"), |
| 120 | (int)renderMethod, 0); | 122 | (int)renderMethod, 0); |
| 121 | } | 123 | } |
| 124 | |||
| 125 | auto secondaryConfig = dynamic_cast<render::SwitchConfig*>(renderConfig->getConfig("RenderSecondView.DeferredForwardSwitch")); | ||
| 126 | if (secondaryConfig) { | ||
| 127 | secondaryConfig->setBranch((int)renderMethod); | ||
| 128 | } | ||
| 122 | }); | 129 | }); |
| 123 | } | 130 | } |
| 124 | 131 | ||
| @@ -128,13 +135,14 @@ QStringList RenderScriptingInterface::getRenderMethodNames() const { · 3 unmodified lines | |||
| 128 | } | 135 | } |
| 129 | 136 | ||
| 130 | void recursivelyUpdateLightingModel(const QString& parentTaskName, std::function<void(MakeLightingModelConfig *)> updateLambda, int depth = -1) { | 137 | void recursivelyUpdateLightingModel(const QString& parentTaskName, std::function<void(MakeLightingModelConfig *)> updateLambda, int depth = -1) { |
| 138 | auto renderConfig = qApp->getRenderEngine()->getConfiguration(); | ||
| 131 | if (depth == -1) { | 139 | if (depth == -1) { |
| 132 | auto secondaryLightingModelConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<MakeLightingModel>("RenderSecondView.LightingModel"); | 140 | auto secondaryLightingModelConfig = renderConfig->getConfig<MakeLightingModel>("RenderSecondView.LightingModel"); |
| 133 | if (secondaryLightingModelConfig) { | 141 | if (secondaryLightingModelConfig) { |
| 134 | updateLambda(secondaryLightingModelConfig); | 142 | updateLambda(secondaryLightingModelConfig); |
| 135 | } | 143 | } |
| 136 | 144 | ||
| 137 | auto mainLightingModelConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<MakeLightingModel>("RenderMainView.LightingModel"); | 145 | auto mainLightingModelConfig = renderConfig->getConfig<MakeLightingModel>("RenderMainView.LightingModel"); |
| 138 | if (mainLightingModelConfig) { | 146 | if (mainLightingModelConfig) { |
| 139 | updateLambda(mainLightingModelConfig); | 147 | updateLambda(mainLightingModelConfig); |
| 140 | } | 148 | } |
| @@ -146,7 +154,7 @@ void recursivelyUpdateLightingModel(const QString& parentTaskName, std::function · 5 unmodified lines | |||
| 146 | 154 | ||
| 147 | for (size_t mirrorIndex = 0; mirrorIndex < RenderMirrorTask::MAX_MIRRORS_PER_LEVEL; mirrorIndex++) { | 155 | for (size_t mirrorIndex = 0; mirrorIndex < RenderMirrorTask::MAX_MIRRORS_PER_LEVEL; mirrorIndex++) { |
| 148 | std::string mirrorTaskString = parentTaskName.toStdString() + ".RenderMirrorView" + std::to_string(mirrorIndex) + "Depth" + std::to_string(depth); | 156 | std::string mirrorTaskString = parentTaskName.toStdString() + ".RenderMirrorView" + std::to_string(mirrorIndex) + "Depth" + std::to_string(depth); |
| 149 | auto lightingModelConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<MakeLightingModel>(mirrorTaskString + ".LightingModel"); | 157 | auto lightingModelConfig = renderConfig->getConfig<MakeLightingModel>(mirrorTaskString + ".LightingModel"); |
| 150 | if (lightingModelConfig) { | 158 | if (lightingModelConfig) { |
| 151 | updateLambda(lightingModelConfig); | 159 | updateLambda(lightingModelConfig); |
| 152 | recursivelyUpdateLightingModel(QString::fromStdString(mirrorTaskString), updateLambda, depth + 1); | 160 | recursivelyUpdateLightingModel(QString::fromStdString(mirrorTaskString), updateLambda, depth + 1); |
| @@ -169,7 +177,6 @@ void RenderScriptingInterface::forceShadowsEnabled(bool enabled) { · 16 unmodified lines | |||
| 169 | _renderSettingLock.withWriteLock([&] { | 177 | _renderSettingLock.withWriteLock([&] { |
| 170 | _shadowsEnabled = (enabled); | 178 | _shadowsEnabled = (enabled); |
| 171 | _shadowsEnabledSetting.set(enabled); | 179 | _shadowsEnabledSetting.set(enabled); |
| 172 | |||
| 173 | Menu::getInstance()->setIsOptionChecked(MenuOption::Shadows, enabled); | 180 | Menu::getInstance()->setIsOptionChecked(MenuOption::Shadows, enabled); |
| 174 | 181 | ||
| 175 | recursivelyUpdateLightingModel("", [enabled] (MakeLightingModelConfig *config) { config->setShadow(enabled); }); | 182 | recursivelyUpdateLightingModel("", [enabled] (MakeLightingModelConfig *config) { config->setShadow(enabled); }); |
| @@ -231,7 +238,6 @@ void RenderScriptingInterface::forceAmbientOcclusionEnabled(bool enabled) { · 55 unmodified lines | |||
| 231 | _renderSettingLock.withWriteLock([&] { | 238 | _renderSettingLock.withWriteLock([&] { |
| 232 | _ambientOcclusionEnabled = (enabled); | 239 | _ambientOcclusionEnabled = (enabled); |
| 233 | _ambientOcclusionEnabledSetting.set(enabled); | 240 | _ambientOcclusionEnabledSetting.set(enabled); |
| 234 | |||
| 235 | Menu::getInstance()->setIsOptionChecked(MenuOption::AmbientOcclusion, enabled); | 241 | Menu::getInstance()->setIsOptionChecked(MenuOption::AmbientOcclusion, enabled); |
| 236 | 242 | ||
| 237 | recursivelyUpdateLightingModel("", [enabled] (MakeLightingModelConfig *config) { config->setAmbientOcclusion(enabled); }); | 243 | recursivelyUpdateLightingModel("", [enabled] (MakeLightingModelConfig *config) { config->setAmbientOcclusion(enabled); }); |
| @@ -259,52 +265,53 @@ void RenderScriptingInterface::forceProceduralMaterialsEnabled(bool enabled) { · 21 unmodified lines | |||
| 259 | }); | 265 | }); |
| 260 | } | 266 | } |
| 261 | 267 | ||
| 262 | AntialiasingConfig::Mode RenderScriptingInterface::getAntialiasingMode() const { | 268 | AntialiasingSetupConfig::Mode RenderScriptingInterface::getAntialiasingMode() const { |
| 263 | return _antialiasingMode; | 269 | return _antialiasingMode; |
| 264 | } | 270 | } |
| 265 | 271 | ||
| 266 | void RenderScriptingInterface::setAntialiasingMode(AntialiasingConfig::Mode mode) { | 272 | void RenderScriptingInterface::setAntialiasingMode(AntialiasingSetupConfig::Mode mode) { |
| 267 | if (_antialiasingMode != mode) { | 273 | if (_antialiasingMode != mode) { |
| 268 | forceAntialiasingMode(mode); | 274 | forceAntialiasingMode(mode); |
| 269 | emit settingsChanged(); | 275 | emit settingsChanged(); |
| 270 | } | 276 | } |
| 271 | } | 277 | } |
| 272 | 278 | ||
| 273 | void setAntialiasingModeForView(AntialiasingConfig::Mode mode, JitterSampleConfig *jitterCamConfig, AntialiasingConfig *antialiasingConfig) { | 279 | void setAntialiasingModeForView(AntialiasingSetupConfig::Mode mode, AntialiasingSetupConfig *antialiasingSetupConfig, AntialiasingConfig *antialiasingConfig) { |
| 274 | switch (mode) { | 280 | switch (mode) { |
| 275 | case AntialiasingConfig::Mode::NONE: | 281 | case AntialiasingSetupConfig::Mode::NONE: |
| 276 | jitterCamConfig->none(); | 282 | antialiasingSetupConfig->none(); |
| 277 | antialiasingConfig->blend = 1; | 283 | antialiasingConfig->blend = 1; |
| 278 | antialiasingConfig->setDebugFXAA(false); | 284 | antialiasingConfig->setDebugFXAA(false); |
| 279 | break; | 285 | break; |
| 280 | case AntialiasingConfig::Mode::TAA: | 286 | case AntialiasingSetupConfig::Mode::TAA: |
| 281 | jitterCamConfig->play(); | 287 | antialiasingSetupConfig->play(); |
| 282 | antialiasingConfig->blend = 0.25; | 288 | antialiasingConfig->blend = 0.25; |
| 283 | antialiasingConfig->setDebugFXAA(false); | 289 | antialiasingConfig->setDebugFXAA(false); |
| 284 | break; | 290 | break; |
| 285 | case AntialiasingConfig::Mode::FXAA: | 291 | case AntialiasingSetupConfig::Mode::FXAA: |
| 286 | jitterCamConfig->none(); | 292 | antialiasingSetupConfig->none(); |
| 287 | antialiasingConfig->blend = 0.25; | 293 | antialiasingConfig->blend = 0.25; |
| 288 | antialiasingConfig->setDebugFXAA(true); | 294 | antialiasingConfig->setDebugFXAA(true); |
| 289 | break; | 295 | break; |
| 290 | default: | 296 | default: |
| 291 | jitterCamConfig->none(); | 297 | antialiasingSetupConfig->none(); |
| 292 | antialiasingConfig->blend = 1; | 298 | antialiasingConfig->blend = 1; |
| 293 | antialiasingConfig->setDebugFXAA(false); | 299 | antialiasingConfig->setDebugFXAA(false); |
| 294 | break; | 300 | break; |
| 295 | } | 301 | } |
| 296 | } | 302 | } |
| 297 | 303 | ||
| 298 | void recursivelyUpdateAntialiasingMode(const QString& parentTaskName, AntialiasingConfig::Mode mode, int depth = -1) { | 304 | void recursivelyUpdateAntialiasingMode(const QString& parentTaskName, AntialiasingSetupConfig::Mode mode, int depth = -1) { |
| 305 | auto renderConfig = qApp->getRenderEngine()->getConfiguration(); | ||
| 299 | if (depth == -1) { | 306 | if (depth == -1) { |
| 300 | auto secondViewJitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>("RenderSecondView.JitterCam"); | 307 | auto secondViewJitterCamConfig = renderConfig->getConfig<AntialiasingSetup>("RenderSecondView.AntialiasingSetup"); |
| 301 | auto secondViewAntialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>("RenderSecondView.Antialiasing"); | 308 | auto secondViewAntialiasingConfig = renderConfig->getConfig<Antialiasing>("RenderSecondView.Antialiasing"); |
| 302 | if (secondViewJitterCamConfig && secondViewAntialiasingConfig) { | 309 | if (secondViewJitterCamConfig && secondViewAntialiasingConfig) { |
| 303 | setAntialiasingModeForView(mode, secondViewJitterCamConfig, secondViewAntialiasingConfig); | 310 | setAntialiasingModeForView(mode, secondViewJitterCamConfig, secondViewAntialiasingConfig); |
| 304 | } | 311 | } |
| 305 | 312 | ||
| 306 | auto mainViewJitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>("RenderMainView.JitterCam"); | 313 | auto mainViewJitterCamConfig = renderConfig->getConfig<AntialiasingSetup>("RenderMainView.AntialiasingSetup"); |
| 307 | auto mainViewAntialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>("RenderMainView.Antialiasing"); | 314 | auto mainViewAntialiasingConfig = renderConfig->getConfig<Antialiasing>("RenderMainView.Antialiasing"); |
| 308 | if (mainViewJitterCamConfig && mainViewAntialiasingConfig) { | 315 | if (mainViewJitterCamConfig && mainViewAntialiasingConfig) { |
| 309 | setAntialiasingModeForView( mode, mainViewJitterCamConfig, mainViewAntialiasingConfig); | 316 | setAntialiasingModeForView( mode, mainViewJitterCamConfig, mainViewAntialiasingConfig); |
| 310 | } | 317 | } |
| @@ -316,8 +323,8 @@ void recursivelyUpdateAntialiasingMode(const QString& parentTaskName, Antialiasi · 5 unmodified lines | |||
| 316 | 323 | ||
| 317 | for (size_t mirrorIndex = 0; mirrorIndex < RenderMirrorTask::MAX_MIRRORS_PER_LEVEL; mirrorIndex++) { | 324 | for (size_t mirrorIndex = 0; mirrorIndex < RenderMirrorTask::MAX_MIRRORS_PER_LEVEL; mirrorIndex++) { |
| 318 | std::string mirrorTaskString = parentTaskName.toStdString() + ".RenderMirrorView" + std::to_string(mirrorIndex) + "Depth" + std::to_string(depth); | 325 | std::string mirrorTaskString = parentTaskName.toStdString() + ".RenderMirrorView" + std::to_string(mirrorIndex) + "Depth" + std::to_string(depth); |
| 319 | auto jitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>(mirrorTaskString + ".JitterCam"); | 326 | auto jitterCamConfig = renderConfig->getConfig<AntialiasingSetup>(mirrorTaskString + ".AntialiasingSetup"); |
| 320 | auto antialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>(mirrorTaskString + ".Antialiasing"); | 327 | auto antialiasingConfig = renderConfig->getConfig<Antialiasing>(mirrorTaskString + ".Antialiasing"); |
| 321 | if (jitterCamConfig && antialiasingConfig) { | 328 | if (jitterCamConfig && antialiasingConfig) { |
| 322 | setAntialiasingModeForView(mode, jitterCamConfig, antialiasingConfig); | 329 | setAntialiasingModeForView(mode, jitterCamConfig, antialiasingConfig); |
| 323 | recursivelyUpdateAntialiasingMode(QString::fromStdString(mirrorTaskString), mode, depth + 1); | 330 | recursivelyUpdateAntialiasingMode(QString::fromStdString(mirrorTaskString), mode, depth + 1); |
| @@ -325,14 +332,14 @@ void recursivelyUpdateAntialiasingMode(const QString& parentTaskName, Antialiasi · 1 unmodified line | |||
| 325 | } | 332 | } |
| 326 | } | 333 | } |
| 327 | 334 | ||
| 328 | void RenderScriptingInterface::forceAntialiasingMode(AntialiasingConfig::Mode mode) { | 335 | void RenderScriptingInterface::forceAntialiasingMode(AntialiasingSetupConfig::Mode mode) { |
| 329 | if ((int)mode < 0 || mode >= AntialiasingConfig::Mode::MODE_COUNT) { | 336 | if ((int)mode < 0 || mode >= AntialiasingSetupConfig::Mode::MODE_COUNT) { |
| 330 | mode = AntialiasingConfig::Mode::NONE; | 337 | mode = AntialiasingSetupConfig::Mode::NONE; |
| 331 | } | 338 | } |
| 332 | 339 | ||
| 333 | _renderSettingLock.withWriteLock([&] { | 340 | _renderSettingLock.withWriteLock([&] { |
| 334 | _antialiasingMode = mode; | 341 | _antialiasingMode = mode; |
| 335 | _antialiasingModeSetting.set(_antialiasingMode); | 342 | _antialiasingModeSetting.set((int)_antialiasingMode); |
| 336 | 343 | ||
| 337 | recursivelyUpdateAntialiasingMode("", _antialiasingMode); | 344 | recursivelyUpdateAntialiasingMode("", _antialiasingMode); |
| 338 | }); | 345 | }); |
| @@ -345,6 +352,13 @@ void RenderScriptingInterface::setVerticalFieldOfView(float fieldOfView) { · 6 unmodified lines | |||
| 345 | } | 352 | } |
| 346 | } | 353 | } |
| 347 | 354 | ||
| 355 | void RenderScriptingInterface::setCameraClippingEnabled(bool enabled) { | ||
| 356 | if (qApp->getCameraClippingEnabled() != enabled) { | ||
| 357 | qApp->setCameraClippingEnabled(enabled); | ||
| 358 | emit settingsChanged(); | ||
| 359 | } | ||
| 360 | } | ||
| 361 | |||
| 348 | QStringList RenderScriptingInterface::getScreens() const { | 362 | QStringList RenderScriptingInterface::getScreens() const { |
| 349 | QStringList screens; | 363 | QStringList screens; |
| 350 | 364 | ||
| @@ -396,20 +410,27 @@ void RenderScriptingInterface::forceViewportResolutionScale(float scale) { · 45 unmodified lines | |||
| 396 | return; | 410 | return; |
| 397 | } | 411 | } |
| 398 | _renderSettingLock.withWriteLock([&] { | 412 | _renderSettingLock.withWriteLock([&] { |
| 399 | _viewportResolutionScale = (scale); | 413 | _viewportResolutionScale = scale; |
| 400 | _viewportResolutionScaleSetting.set(scale); | 414 | _viewportResolutionScaleSetting.set(scale); |
| 401 | 415 | ||
| 402 | auto renderConfig = qApp->getRenderEngine()->getConfiguration(); | 416 | auto renderConfig = qApp->getRenderEngine()->getConfiguration(); |
| 403 | assert(renderConfig); | 417 | assert(renderConfig); |
| 404 | auto deferredView = renderConfig->getConfig("RenderMainView.RenderDeferredTask"); | 418 | auto deferredView = renderConfig->getConfig("RenderMainView.RenderDeferredTask"); |
| 405 | // mainView can be null if we're rendering in forward mode | ||
| 406 | if (deferredView) { | 419 | if (deferredView) { |
| 407 | deferredView->setProperty("resolutionScale", _viewportResolutionScale); | 420 | deferredView->setProperty("resolutionScale", scale); |
| 408 | } | 421 | } |
| 409 | auto forwardView = renderConfig->getConfig("RenderMainView.RenderForwardTask"); | 422 | auto forwardView = renderConfig->getConfig("RenderMainView.RenderForwardTask"); |
| 410 | // mainView can be null if we're rendering in forward mode | ||
| 411 | if (forwardView) { | 423 | if (forwardView) { |
| 412 | forwardView->setProperty("resolutionScale", _viewportResolutionScale); | 424 | forwardView->setProperty("resolutionScale", scale); |
| 425 | } | ||
| 426 | |||
| 427 | auto deferredSecondView = renderConfig->getConfig("RenderSecondView.RenderDeferredTask"); | ||
| 428 | if (deferredSecondView) { | ||
| 429 | deferredSecondView->setProperty("resolutionScale", scale); | ||
| 430 | } | ||
| 431 | auto forwardSecondView = renderConfig->getConfig("RenderSecondView.RenderForwardTask"); | ||
| 432 | if (forwardSecondView) { | ||
| 433 | forwardSecondView->setProperty("resolutionScale", scale); | ||
| 413 | } | 434 | } |
| 414 | }); | 435 | }); |
| 415 | } | 436 | } |