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+
10+const QString DEFERRED = "deferred";
11+const QString FORWARD = "forward";
12+
13+RenderScriptingInterface* RenderScriptingInterface::getInstance() {
14+ static RenderScriptingInterface sharedInstance;
15+ return &sharedInstance;
16+}
17+
18+RenderScriptingInterface::RenderScriptingInterface() {
19+ setRenderMethod((render::Args::RenderMethod)_renderMethodSetting.get() == render::Args::RenderMethod::DEFERRED ? DEFERRED : FORWARD);
20+}
21+
22+QString RenderScriptingInterface::getRenderMethod() {
23+ return (render::Args::RenderMethod)_renderMethodSetting.get() == render::Args::RenderMethod::DEFERRED ? DEFERRED : FORWARD;
24+}
25+
26+void 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+}