mirror of
https://github.com/overte-org/overte.git
synced 2025-06-05 07:00:34 +02:00
Adding ui to debug render settings
This commit is contained in:
parent
24049a4321
commit
0862e40b41
4 changed files with 77 additions and 11 deletions
|
@ -19,24 +19,24 @@ RenderScriptingInterface* RenderScriptingInterface::getInstance() {
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderScriptingInterface::RenderScriptingInterface() {
|
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());
|
setShadowsEnabled(_shadowsEnabledSetting.get());
|
||||||
setAmbientOcclusionEnabled(_ambientOcclusionEnabledSetting.get());
|
setAmbientOcclusionEnabled(_ambientOcclusionEnabledSetting.get());
|
||||||
setAntialiasingEnabled(_antialiasingEnabledSetting.get());
|
setAntialiasingEnabled(_antialiasingEnabledSetting.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
QString RenderScriptingInterface::getRenderMethod() {
|
RenderScriptingInterface::RenderMethod RenderScriptingInterface::getRenderMethod() {
|
||||||
return (render::Args::RenderMethod)_renderMethodSetting.get() == render::Args::RenderMethod::DEFERRED ? DEFERRED : FORWARD;
|
return (RenderMethod)_renderMethodSetting.get() == RenderMethod::DEFERRED ? RenderMethod::DEFERRED : RenderMethod::FORWARD;
|
||||||
}
|
}
|
||||||
|
|
||||||
void RenderScriptingInterface::setRenderMethod(const QString& renderMethod) {
|
void RenderScriptingInterface::setRenderMethod(RenderScriptingInterface::RenderMethod renderMethod) {
|
||||||
render::Args::RenderMethod newMethod = renderMethod == FORWARD ? render::Args::RenderMethod::FORWARD : render::Args::RenderMethod::DEFERRED;
|
RenderMethod newMethod = renderMethod == RenderMethod::FORWARD ? RenderMethod::FORWARD : RenderMethod::DEFERRED;
|
||||||
if (_renderMethodSetting.get() == newMethod) {
|
if (_renderMethodSetting.get() == newMethod) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (QThread::currentThread() != thread()) {
|
if (QThread::currentThread() != thread()) {
|
||||||
QMetaObject::invokeMethod(this, "setRenderMethod", Q_ARG(const QString&, renderMethod));
|
QMetaObject::invokeMethod(this, "setRenderMethod", Q_ARG(RenderScriptingInterface::RenderMethod, renderMethod));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
*/
|
*/
|
||||||
class RenderScriptingInterface : public QObject {
|
class RenderScriptingInterface : public QObject {
|
||||||
Q_OBJECT
|
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 shadowsEnabled READ getShadowsEnabled WRITE setShadowsEnabled)
|
||||||
Q_PROPERTY(bool ambientOcclusionEnabled READ getAmbientOcclusionEnabled WRITE setAmbientOcclusionEnabled)
|
Q_PROPERTY(bool ambientOcclusionEnabled READ getAmbientOcclusionEnabled WRITE setAmbientOcclusionEnabled)
|
||||||
Q_PROPERTY(bool antialiasingEnabled READ getAntialiasingEnabled WRITE setAntialiasingEnabled)
|
Q_PROPERTY(bool antialiasingEnabled READ getAntialiasingEnabled WRITE setAntialiasingEnabled)
|
||||||
|
@ -35,6 +35,13 @@ public:
|
||||||
|
|
||||||
static RenderScriptingInterface* getInstance();
|
static RenderScriptingInterface* getInstance();
|
||||||
|
|
||||||
|
// RenderMethod enum type
|
||||||
|
enum RenderMethod {
|
||||||
|
DEFERRED = render::Args::RenderMethod::DEFERRED,
|
||||||
|
FORWARD = render::Args::RenderMethod::FORWARD,
|
||||||
|
};
|
||||||
|
Q_ENUM(RenderMethod);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* Get a config for a job by name
|
* Get a config for a job by name
|
||||||
|
@ -50,16 +57,16 @@ public slots:
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* Gets the current render method
|
* Gets the current render method
|
||||||
* @function Render.getRenderMethod
|
* @function Render.getRenderMethod
|
||||||
* @returns {string} <code>"deferred"</code> or <code>"forward"</code>
|
* @returns {number} <code>"DEFERRED"</code> or <code>"FORWARD"</code>
|
||||||
*/
|
*/
|
||||||
QString getRenderMethod();
|
RenderMethod getRenderMethod();
|
||||||
|
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* Sets the current render method
|
* Sets the current render method
|
||||||
* @function Render.setRenderMethod
|
* @function Render.setRenderMethod
|
||||||
* @param {string} renderMethod - <code>"deferred"</code> or <code>"forward"</code>
|
* @param {number} renderMethod - <code>"DEFERRED"</code> or <code>"FORWARD"</code>
|
||||||
*/
|
*/
|
||||||
void setRenderMethod(const QString& renderMethod);
|
void setRenderMethod(RenderMethod renderMethod);
|
||||||
|
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* Whether or not shadows are enabled
|
* Whether or not shadows are enabled
|
||||||
|
@ -103,6 +110,20 @@ public slots:
|
||||||
*/
|
*/
|
||||||
void setAntialiasingEnabled(bool enabled);
|
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 - <code>"DEFERRED"</code> or <code>"FORWARD"</code>
|
||||||
|
*/
|
||||||
|
// void setRenderMethod(RenderMethod renderMethod);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Setting::Handle<int> _renderMethodSetting { "renderMethod", RENDER_FORWARD ? render::Args::RenderMethod::FORWARD : render::Args::RenderMethod::DEFERRED };
|
Setting::Handle<int> _renderMethodSetting { "renderMethod", RENDER_FORWARD ? render::Args::RenderMethod::FORWARD : render::Args::RenderMethod::DEFERRED };
|
||||||
Setting::Handle<bool> _shadowsEnabledSetting { "shadowsEnabled", true };
|
Setting::Handle<bool> _shadowsEnabledSetting { "shadowsEnabled", true };
|
||||||
|
|
38
scripts/developer/utilities/render/luci/RenderSettings.qml
Normal file
38
scripts/developer/utilities/render/luci/RenderSettings.qml
Normal file
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
7
scripts/developer/utilities/render/renderSettings.js
Normal file
7
scripts/developer/utilities/render/renderSettings.js
Normal file
|
@ -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}
|
||||||
|
});
|
||||||
|
|
Loading…
Reference in a new issue