blob: 7d08821dfcacf099c5d4d7aac446a3ae8bbf0b79 [file] [log] [blame]
/****************************************************************************
**
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Quick 3D.
**
** $QT_BEGIN_LICENSE:GPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 or (at your option) any later version
** approved by the KDE Free Qt Foundation. The licenses are as published by
** the Free Software Foundation and appearing in the file LICENSE.GPL3
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.12
import HelperWidgets 2.0
import QtQuick.Layouts 1.12
Column {
width: parent.width
Section {
caption: qsTr("Scene Environment")
width: parent.width
SectionLayout {
Label {
text: qsTr("Progressive AA")
tooltip: qsTr("Sets the level of progressive antialiasing applied to the scene.")
}
SecondColumnLayout {
ComboBox {
scope: "SceneEnvironment"
model: ["NoAA", "SSAA", "X2", "X4", "X8"]
backendValue: backendValues.progressiveAAMode
Layout.fillWidth: true
}
}
Label {
text: qsTr("Multisample AA")
tooltip: qsTr("Sets the level of multisample antialiasing applied to the scene.")
}
SecondColumnLayout {
ComboBox {
scope: "SceneEnvironment"
model: ["NoAA", "SSAA", "X2", "X4", "X8"]
backendValue: backendValues.multisampleAAMode
Layout.fillWidth: true
}
}
Label {
text: qsTr("Temporal AA")
tooltip: qsTr("Enables temporal antialiasing using camera jittering and frame blending.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.temporalAAEnabled.valueToString
backendValue: backendValues.temporalAAEnabled
Layout.fillWidth: true
}
}
Label {
text: qsTr("Background Mode")
tooltip: qsTr("Controls if and how the background of the scene should be cleared.")
}
SecondColumnLayout {
ComboBox {
scope: "SceneEnvironment"
model: ["Transparent", "Unspecified", "Color", "SkyBox"]
backendValue: backendValues.backgroundMode
Layout.fillWidth: true
}
}
Label {
text: qsTr("Enable Depth Test")
tooltip: qsTr("Enables depth testing. Disable to optimize render speed for layers with mostly transparent objects.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.depthTestEnabled.valueToString
backendValue: backendValues.depthTestEnabled
Layout.fillWidth: true
}
}
Label {
text: qsTr("Enable Depth Prepass")
tooltip: qsTr("Draw depth buffer as a separate pass. Disable to optimize render speed for layers with low depth complexity.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.depthPrePassEnabled.valueToString
backendValue: backendValues.depthPrePassEnabled
Layout.fillWidth: true
}
}
}
}
Section {
caption: qsTr("Clear Color")
width: parent.width
ColorEditor {
caption: qsTr("Clear Color")
backendValue: backendValues.clearColor
supportGradient: false
Layout.fillWidth: true
}
}
Section {
caption: qsTr("Ambient Occlusion")
width: parent.width
SectionLayout {
Label {
text: qsTr("AO Strength")
tooltip: qsTr("Sets the amount of ambient occlusion applied.")
}
SecondColumnLayout {
SpinBox {
maximumValue: 100
minimumValue: 0
decimals: 0
backendValue: backendValues.aoStrength
Layout.fillWidth: true
}
}
Label {
text: qsTr("AO Distance")
tooltip: qsTr("Sets how far ambient occlusion shadows spread away from objects.")
}
SecondColumnLayout {
SpinBox {
maximumValue: 99999
minimumValue: 0
decimals: 0
backendValue: backendValues.aoDistance
Layout.fillWidth: true
}
}
Label {
text: qsTr("AO Softness")
tooltip: qsTr("Sets how smooth the edges of the ambient occlusion shading are.")
}
SecondColumnLayout {
SpinBox {
maximumValue: 50
minimumValue: 0
decimals: 0
backendValue: backendValues.aoSoftness
Layout.fillWidth: true
}
}
Label {
text: qsTr("AO Dither")
tooltip: qsTr("Enables scattering of the ambient occlusion shadow band edges to improve smoothness (at the risk of sometimes producing obvious patterned artifacts).")
}
SecondColumnLayout {
CheckBox {
text: backendValues.aoDither.valueToString
backendValue: backendValues.aoDither
Layout.fillWidth: true
}
}
Label {
text: qsTr("AO Sample Rate")
tooltip: qsTr("Sets the ambient occlusion quality (more shades of gray) at the expense of performance.")
}
SecondColumnLayout {
SpinBox {
maximumValue: 4
minimumValue: 2
decimals: 0
backendValue: backendValues.aoSampleRate
Layout.fillWidth: true
}
}
Label {
text: qsTr("AO Bias")
tooltip: qsTr("Sets the cutoff distance preventing objects from exhibiting ambient occlusion at close distances.")
}
SecondColumnLayout {
SpinBox {
maximumValue: 999999
minimumValue: -999999
realDragRange: 5000
decimals: 2
backendValue: backendValues.aoBias
Layout.fillWidth: true
}
}
}
}
Section {
caption: qsTr("Image Based Lighting")
width: parent.width
SectionLayout {
// ### lightProbe
Label {
text: qsTr("Probe Brightness")
tooltip: qsTr("Sets the amount of light emitted by the light probe.")
}
SecondColumnLayout {
SpinBox {
maximumValue: 999999
minimumValue: -999999
realDragRange: 5000
decimals: 0
backendValue: backendValues.probeBrightness
Layout.fillWidth: true
}
}
Label {
text: qsTr("Fast IBL")
tooltip: qsTr("Use a faster approximation to image-based lighting.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.aoDither.valueToString
backendValue: backendValues.fastIBL
Layout.fillWidth: true
}
}
Label {
text: qsTr("Probe Horizon")
tooltip: qsTr("Upper limit for horizon darkening of the light probe.")
}
SecondColumnLayout {
SpinBox {
maximumValue: -0.001
minimumValue: -1
decimals: 3
backendValue: backendValues.probeHorizon
Layout.fillWidth: true
}
}
Label {
text: qsTr("Probe FOV")
tooltip: qsTr("Image source FOV for the case of using a camera-source as the IBL probe.")
}
SecondColumnLayout {
SpinBox {
maximumValue: 180
minimumValue: 1.0
decimals: 1
backendValue: backendValues.probeFieldOfView
Layout.fillWidth: true
}
}
}
}
}