mirror of
https://github.com/AleziaKurdis/overte.git
synced 2025-04-07 04:53:28 +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() {
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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} <code>"deferred"</code> or <code>"forward"</code>
|
||||
* @returns {number} <code>"DEFERRED"</code> or <code>"FORWARD"</code>
|
||||
*/
|
||||
QString getRenderMethod();
|
||||
RenderMethod getRenderMethod();
|
||||
|
||||
/**jsdoc
|
||||
* Sets the current render method
|
||||
* @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
|
||||
* 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 - <code>"DEFERRED"</code> or <code>"FORWARD"</code>
|
||||
*/
|
||||
// void setRenderMethod(RenderMethod renderMethod);
|
||||
|
||||
private:
|
||||
Setting::Handle<int> _renderMethodSetting { "renderMethod", RENDER_FORWARD ? render::Args::RenderMethod::FORWARD : render::Args::RenderMethod::DEFERRED };
|
||||
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