diff --git a/interface/src/scripting/RenderScriptingInterface.cpp b/interface/src/scripting/RenderScriptingInterface.cpp
index 360a75b557..14fd9c6878 100644
--- a/interface/src/scripting/RenderScriptingInterface.cpp
+++ b/interface/src/scripting/RenderScriptingInterface.cpp
@@ -19,24 +19,24 @@ RenderScriptingInterface* RenderScriptingInterface::getInstance() {
}
RenderScriptingInterface::RenderScriptingInterface() {
- setRenderMethod((render::Args::RenderMethod)_renderMethodSetting.get() == render::Args::RenderMethod::DEFERRED ? DEFERRED : FORWARD);
+ setRenderMethod((RenderMethod)_renderMethodSetting.get() == RenderMethod::DEFERRED ? RenderMethod::DEFERRED : RenderMethod::FORWARD);
setShadowsEnabled(_shadowsEnabledSetting.get());
setAmbientOcclusionEnabled(_ambientOcclusionEnabledSetting.get());
setAntialiasingEnabled(_antialiasingEnabledSetting.get());
}
-QString RenderScriptingInterface::getRenderMethod() {
- return (render::Args::RenderMethod)_renderMethodSetting.get() == render::Args::RenderMethod::DEFERRED ? DEFERRED : FORWARD;
+RenderScriptingInterface::RenderMethod RenderScriptingInterface::getRenderMethod() {
+ return (RenderMethod)_renderMethodSetting.get() == RenderMethod::DEFERRED ? RenderMethod::DEFERRED : RenderMethod::FORWARD;
}
-void RenderScriptingInterface::setRenderMethod(const QString& renderMethod) {
- render::Args::RenderMethod newMethod = renderMethod == FORWARD ? render::Args::RenderMethod::FORWARD : render::Args::RenderMethod::DEFERRED;
+void RenderScriptingInterface::setRenderMethod(RenderScriptingInterface::RenderMethod renderMethod) {
+ RenderMethod newMethod = renderMethod == RenderMethod::FORWARD ? RenderMethod::FORWARD : RenderMethod::DEFERRED;
if (_renderMethodSetting.get() == newMethod) {
return;
}
if (QThread::currentThread() != thread()) {
- QMetaObject::invokeMethod(this, "setRenderMethod", Q_ARG(const QString&, renderMethod));
+ QMetaObject::invokeMethod(this, "setRenderMethod", Q_ARG(RenderScriptingInterface::RenderMethod, renderMethod));
return;
}
diff --git a/interface/src/scripting/RenderScriptingInterface.h b/interface/src/scripting/RenderScriptingInterface.h
index 329433fb60..5476ac7cbf 100644
--- a/interface/src/scripting/RenderScriptingInterface.h
+++ b/interface/src/scripting/RenderScriptingInterface.h
@@ -25,7 +25,7 @@
*/
class RenderScriptingInterface : public QObject {
Q_OBJECT
- Q_PROPERTY(QString renderMethod READ getRenderMethod WRITE setRenderMethod)
+ Q_PROPERTY(RenderMethod renderMethod READ getRenderMethod WRITE setRenderMethod)
Q_PROPERTY(bool shadowsEnabled READ getShadowsEnabled WRITE setShadowsEnabled)
Q_PROPERTY(bool ambientOcclusionEnabled READ getAmbientOcclusionEnabled WRITE setAmbientOcclusionEnabled)
Q_PROPERTY(bool antialiasingEnabled READ getAntialiasingEnabled WRITE setAntialiasingEnabled)
@@ -35,6 +35,13 @@ public:
static RenderScriptingInterface* getInstance();
+ // RenderMethod enum type
+ enum RenderMethod {
+ DEFERRED = render::Args::RenderMethod::DEFERRED,
+ FORWARD = render::Args::RenderMethod::FORWARD,
+ };
+ Q_ENUM(RenderMethod);
+
public slots:
/**jsdoc
* Get a config for a job by name
@@ -50,16 +57,16 @@ public slots:
/**jsdoc
* Gets the current render method
* @function Render.getRenderMethod
- * @returns {string} "deferred"
or "forward"
+ * @returns {number} "DEFERRED"
or "FORWARD"
*/
- QString getRenderMethod();
+ RenderMethod getRenderMethod();
/**jsdoc
* Sets the current render method
* @function Render.setRenderMethod
- * @param {string} renderMethod - "deferred"
or "forward"
+ * @param {number} renderMethod - "DEFERRED"
or "FORWARD"
*/
- void setRenderMethod(const QString& renderMethod);
+ void setRenderMethod(RenderMethod renderMethod);
/**jsdoc
* Whether or not shadows are enabled
@@ -103,6 +110,20 @@ public slots:
*/
void setAntialiasingEnabled(bool enabled);
+ /**jsdoc
+ * Gets the current render resolution scale
+ * @function Render.getRenderResolutionScale
+ * @returns {number}
+ */
+// RenderMethod getRenderMethod();
+
+ /**jsdoc
+ * Sets the current render method
+ * @function Render.setRenderMethod
+ * @param {number} renderMethod - "DEFERRED"
or "FORWARD"
+ */
+ // void setRenderMethod(RenderMethod renderMethod);
+
private:
Setting::Handle _renderMethodSetting { "renderMethod", RENDER_FORWARD ? render::Args::RenderMethod::FORWARD : render::Args::RenderMethod::DEFERRED };
Setting::Handle _shadowsEnabledSetting { "shadowsEnabled", true };
diff --git a/scripts/developer/utilities/render/luci/RenderSettings.qml b/scripts/developer/utilities/render/luci/RenderSettings.qml
new file mode 100644
index 0000000000..13a124db26
--- /dev/null
+++ b/scripts/developer/utilities/render/luci/RenderSettings.qml
@@ -0,0 +1,38 @@
+//
+// Render Settings.qml
+//
+// Created by Sam Gateau on 5/28/2019
+// Copyright 2019 High Fidelity, Inc.
+//
+// Distributed under the Apache License, Version 2.0.
+// See the accompanying file LICENSE or https://www.apache.org/licenses/LICENSE-2.0.html
+//
+import QtQuick 2.7
+import QtQuick.Controls 2.2
+import QtQuick.Layouts 1.3
+
+import controlsUit 1.0 as HifiControls
+
+import "../../lib/prop" as Prop
+
+Column {
+ anchors.fill: parent
+ id: theGrapchicsSettings;
+
+ Prop.PropEnum {
+ label: "Render Method"
+ object: Render
+ property: "renderMethod"
+ enums: [
+ "Deferred",
+ "Forward"
+ ]
+ }
+
+ Prop.PropBool {
+ label: "Shadows"
+ object: Render
+ property: "shadowsEnabled"
+ }
+}
+
diff --git a/scripts/developer/utilities/render/renderSettings.js b/scripts/developer/utilities/render/renderSettings.js
new file mode 100644
index 0000000000..451fa798f8
--- /dev/null
+++ b/scripts/developer/utilities/render/renderSettings.js
@@ -0,0 +1,7 @@
+// Test key commands
+var window = Desktop.createWindow(Script.resolvePath('./luci/RenderSettings.qml'), {
+ title: "Render Settings",
+ presentationMode: Desktop.PresentationMode.NATIVE,
+ size: {x: 350, y: 700}
+});
+