mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-29 18:02:51 +02:00
Update render/debug.js
- Add a toggle for the entire UI - Set items sliders minimums to -1 - Fix off-by-one with debug buffer radios
This commit is contained in:
parent
e3ae2baa7b
commit
981d4d37ca
2 changed files with 90 additions and 82 deletions
|
@ -14,9 +14,6 @@ Render.RenderShadowTask.enabled = true;
|
||||||
var RDT = Render.RenderDeferredTask;
|
var RDT = Render.RenderDeferredTask;
|
||||||
RDT.AmbientOcclusion.enabled = true;
|
RDT.AmbientOcclusion.enabled = true;
|
||||||
RDT.DebugDeferredBuffer.enabled = false;
|
RDT.DebugDeferredBuffer.enabled = false;
|
||||||
["DrawOpaqueDeferred", "DrawTransparentDeferred", "DrawOverlay3DOpaque", "DrawOverlay3DTransparent"]
|
|
||||||
.map(function(name) { return RDT[name]; })
|
|
||||||
.forEach(function(job) { job.maxDrawn = job.numDrawn; });
|
|
||||||
|
|
||||||
// Set up the qml ui
|
// Set up the qml ui
|
||||||
var qml = Script.resolvePath('main.qml');
|
var qml = Script.resolvePath('main.qml');
|
||||||
|
|
|
@ -12,98 +12,109 @@ import QtQuick 2.5
|
||||||
import QtQuick.Controls 1.4
|
import QtQuick.Controls 1.4
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
spacing: 8
|
id: root
|
||||||
|
spacing: 16
|
||||||
Repeater {
|
Switch {
|
||||||
model: [ "Opaque:DrawOpaqueDeferred", "Transparent:DrawTransparentDeferred",
|
checked: true
|
||||||
"Opaque Overlays:DrawOverlay3DOpaque", "Transparent Overlays:DrawOverlay3DTransparent" ]
|
onClicked: ui.visible = checked
|
||||||
ConfigSlider {
|
|
||||||
label: qsTr(modelData.split(":")[0])
|
|
||||||
integral: true
|
|
||||||
config: Render.getConfig(modelData.split(":")[1])
|
|
||||||
property: "maxDrawn"
|
|
||||||
max: config.numDrawn
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Row {
|
|
||||||
CheckBox {
|
|
||||||
text: qsTr("Display Status")
|
|
||||||
onCheckedChanged: { Render.getConfig("DrawStatus").showDisplay = checked }
|
|
||||||
}
|
|
||||||
CheckBox {
|
|
||||||
text: qsTr("Network/Physics Status")
|
|
||||||
onCheckedChanged: { Render.getConfig("DrawStatus").showNetwork = checked }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ConfigSlider {
|
|
||||||
label: qsTr("Tone Mapping Exposure")
|
|
||||||
config: Render.getConfig("ToneMapping")
|
|
||||||
property: "exposure"
|
|
||||||
min: -10; max: 10
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
id: ambientOcclusion
|
id: ui
|
||||||
property var config: Render.getConfig("AmbientOcclusion")
|
spacing: 8
|
||||||
|
|
||||||
Label { text: qsTr("Ambient Occlusion") }
|
|
||||||
// TODO: Add gpuTimer
|
|
||||||
CheckBox { text: qsTr("Dithering"); checked: ambientOcclusion.config.ditheringEnabled }
|
|
||||||
Repeater {
|
Repeater {
|
||||||
model: [
|
model: [ "Opaque:DrawOpaqueDeferred", "Transparent:DrawTransparentDeferred",
|
||||||
"Resolution Level:resolutionLevel:4",
|
"Opaque Overlays:DrawOverlay3DOpaque", "Transparent Overlays:DrawOverlay3DTransparent" ]
|
||||||
"Obscurance Level:obscuranceLevel:1",
|
|
||||||
"Radius:radius:2",
|
|
||||||
"Falloff Bias:falloffBias:0.2",
|
|
||||||
"Edge Sharpness:edgeSharpness:1",
|
|
||||||
"Blur Radius:blurRadius:6",
|
|
||||||
"Blur Deviation:blurDeviation:3"
|
|
||||||
]
|
|
||||||
ConfigSlider {
|
|
||||||
label: qsTr(modelData.split(":")[0])
|
|
||||||
config: ambientOcclusion.config
|
|
||||||
property: modelData.split(":")[1]
|
|
||||||
max: modelData.split(":")[2]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Repeater {
|
|
||||||
model: [
|
|
||||||
"Samples:numSamples:32",
|
|
||||||
"Spiral Turns:numSpiralTurns:30:"
|
|
||||||
]
|
|
||||||
ConfigSlider {
|
ConfigSlider {
|
||||||
label: qsTr(modelData.split(":")[0])
|
label: qsTr(modelData.split(":")[0])
|
||||||
integral: true
|
integral: true
|
||||||
config: ambientOcclusion.config
|
config: Render.getConfig(modelData.split(":")[1])
|
||||||
property: modelData.split(":")[1]
|
property: "maxDrawn"
|
||||||
max: modelData.split(":")[2]
|
max: config.numDrawn
|
||||||
|
min: -1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
Row {
|
||||||
id: debug
|
CheckBox {
|
||||||
property var config: Render.getConfig("DebugDeferredBuffer")
|
text: qsTr("Display Status")
|
||||||
|
onCheckedChanged: { Render.getConfig("DrawStatus").showDisplay = checked }
|
||||||
function setDebugMode(mode) {
|
}
|
||||||
debug.config.enabled = (mode != 0);
|
CheckBox {
|
||||||
debug.config.mode = mode;
|
text: qsTr("Network/Physics Status")
|
||||||
|
onCheckedChanged: { Render.getConfig("DrawStatus").showNetwork = checked }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Label { text: qsTr("Debug Buffer") }
|
ConfigSlider {
|
||||||
ExclusiveGroup { id: bufferGroup }
|
label: qsTr("Tone Mapping Exposure")
|
||||||
Repeater {
|
config: Render.getConfig("ToneMapping")
|
||||||
model: [
|
property: "exposure"
|
||||||
"Off", "Diffuse", "Metallic", "Roughness", "Normal", "Depth",
|
min: -10; max: 10
|
||||||
"Lighting", "Shadow", "Pyramid Depth", "Ambient Occlusion", "Custom Shader"
|
}
|
||||||
]
|
|
||||||
RadioButton {
|
Column {
|
||||||
text: qsTr(modelData)
|
id: ambientOcclusion
|
||||||
exclusiveGroup: bufferGroup
|
property var config: Render.getConfig("AmbientOcclusion")
|
||||||
checked: index == 0
|
|
||||||
onCheckedChanged: if (checked) debug.setDebugMode(index);
|
Label { text: qsTr("Ambient Occlusion") }
|
||||||
|
// TODO: Add gpuTimer
|
||||||
|
CheckBox { text: qsTr("Dithering"); checked: ambientOcclusion.config.ditheringEnabled }
|
||||||
|
Repeater {
|
||||||
|
model: [
|
||||||
|
"Resolution Level:resolutionLevel:4",
|
||||||
|
"Obscurance Level:obscuranceLevel:1",
|
||||||
|
"Radius:radius:2",
|
||||||
|
"Falloff Bias:falloffBias:0.2",
|
||||||
|
"Edge Sharpness:edgeSharpness:1",
|
||||||
|
"Blur Radius:blurRadius:6",
|
||||||
|
"Blur Deviation:blurDeviation:3"
|
||||||
|
]
|
||||||
|
ConfigSlider {
|
||||||
|
label: qsTr(modelData.split(":")[0])
|
||||||
|
config: ambientOcclusion.config
|
||||||
|
property: modelData.split(":")[1]
|
||||||
|
max: modelData.split(":")[2]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Repeater {
|
||||||
|
model: [
|
||||||
|
"Samples:numSamples:32",
|
||||||
|
"Spiral Turns:numSpiralTurns:30:"
|
||||||
|
]
|
||||||
|
ConfigSlider {
|
||||||
|
label: qsTr(modelData.split(":")[0])
|
||||||
|
integral: true
|
||||||
|
config: ambientOcclusion.config
|
||||||
|
property: modelData.split(":")[1]
|
||||||
|
max: modelData.split(":")[2]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
id: debug
|
||||||
|
property var config: Render.getConfig("DebugDeferredBuffer")
|
||||||
|
|
||||||
|
function setDebugMode(mode) {
|
||||||
|
debug.config.enabled = (mode != 0);
|
||||||
|
debug.config.mode = mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
Label { text: qsTr("Debug Buffer") }
|
||||||
|
ExclusiveGroup { id: bufferGroup }
|
||||||
|
Repeater {
|
||||||
|
model: [
|
||||||
|
"Off", "Diffuse", "Metallic", "Roughness", "Normal", "Depth",
|
||||||
|
"Lighting", "Shadow", "Pyramid Depth", "Ambient Occlusion", "Custom Shader"
|
||||||
|
]
|
||||||
|
RadioButton {
|
||||||
|
text: qsTr(modelData)
|
||||||
|
exclusiveGroup: bufferGroup
|
||||||
|
checked: index == 0
|
||||||
|
onCheckedChanged: if (checked && index > 0) debug.setDebugMode(index - 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue