History

render scripting interface + renderMethod control

SamGondelman committed 7 years ago

Commit fee20d91 parent cf5869f6 files · +117 −12Browse files

Showing the changes to interface/src/scripting/RenderScriptingInterface.cpp (1 of 6 files). Show all

Unified · Split

interface/src/scripting/RenderScriptingInterface.cpp+39−0
@@ -0,0 +1,39 @@
1//
2// Created by Sam Gondelman on 5/16/19
3// Copyright 2013-2019 High Fidelity, Inc.
4//
5// Distributed under the Apache License, Version 2.0.
6// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
7//
8#include "RenderScriptingInterface.h"
9
10const QString DEFERRED = "deferred";
11const QString FORWARD = "forward";
12
13RenderScriptingInterface* RenderScriptingInterface::getInstance() {
14 static RenderScriptingInterface sharedInstance;
15 return &sharedInstance;
16}
17
18RenderScriptingInterface::RenderScriptingInterface() {
19 setRenderMethod((render::Args::RenderMethod)_renderMethodSetting.get() == render::Args::RenderMethod::DEFERRED ? DEFERRED : FORWARD);
20}
21
22QString RenderScriptingInterface::getRenderMethod() {
23 return (render::Args::RenderMethod)_renderMethodSetting.get() == render::Args::RenderMethod::DEFERRED ? DEFERRED : FORWARD;
24}
25
26void RenderScriptingInterface::setRenderMethod(const QString& renderMethod) {
27 auto config = dynamic_cast<task::SwitchConfig*>(qApp->getRenderEngine()->getConfiguration()->getConfig("RenderMainView.DeferredForwardSwitch"));
28 if (config) {
29 if (renderMethod == DEFERRED) {
30 _renderMethodSetting.set(render::Args::RenderMethod::DEFERRED);
31 config->setBranch(render::Args::RenderMethod::DEFERRED);
32 emit config->dirtyEnabled();
33 } else if (renderMethod == FORWARD) {
34 _renderMethodSetting.set(render::Args::RenderMethod::FORWARD);
35 config->setBranch(render::Args::RenderMethod::FORWARD);
36 emit config->dirtyEnabled();
37 }
38 }
39}