Initial commit
This commit is contained in:
@@ -0,0 +1,174 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import HelperWidgets 2.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
|
||||
Section {
|
||||
caption: qsTr("Lightmapper")
|
||||
width: parent.width
|
||||
|
||||
SectionLayout {
|
||||
|
||||
PropertyLabel {
|
||||
text: qsTr("Adaptive Bias")
|
||||
tooltip: qsTr("Enables additional dynamic biasing based on the surface normal.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
CheckBox {
|
||||
text: backendValues.adaptiveBiasEnabled.valueToString
|
||||
backendValue: backendValues.adaptiveBiasEnabled
|
||||
implicitWidth: StudioTheme.Values.twoControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
text: qsTr("Bias")
|
||||
tooltip: qsTr("Raycasting bias to avoid self-intersection artifacts.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
SpinBox {
|
||||
minimumValue: -9999999
|
||||
maximumValue: 9999999
|
||||
decimals: 5
|
||||
stepSize: 0.001
|
||||
backendValue: backendValues.bias
|
||||
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
text: qsTr("Opacity Threshold")
|
||||
tooltip: qsTr("Bounces against materials with opacity values below this threshold are ignored when calculating lighting via raytracing.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
SpinBox {
|
||||
minimumValue: 0
|
||||
maximumValue: 1
|
||||
decimals: 2
|
||||
stepSize: 0.01
|
||||
sliderIndicatorVisible: true
|
||||
backendValue: backendValues.opacityThreshold
|
||||
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
text: qsTr("Samples")
|
||||
tooltip: qsTr("The number of samples per lightmap texel.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
SpinBox {
|
||||
minimumValue: 0
|
||||
maximumValue: 2048
|
||||
decimals: 0
|
||||
stepSize: 16
|
||||
sliderIndicatorVisible: true
|
||||
backendValue: backendValues.samples
|
||||
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
text: qsTr("Indirect Lighting")
|
||||
tooltip: qsTr("Enables the baking of indirect lighting.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
CheckBox {
|
||||
id: indirectLightEnabledCheckBox
|
||||
text: backendValues.indirectLightEnabled.valueToString
|
||||
backendValue: backendValues.indirectLightEnabled
|
||||
implicitWidth: StudioTheme.Values.twoControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
visible: indirectLightEnabledCheckBox.checked
|
||||
text: qsTr("Bounces")
|
||||
tooltip: qsTr("The maximum number of indirect light bounces per sample.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
visible: indirectLightEnabledCheckBox.checked
|
||||
SpinBox {
|
||||
minimumValue: 1
|
||||
maximumValue: 16
|
||||
decimals: 0
|
||||
stepSize: 1
|
||||
backendValue: backendValues.bounces
|
||||
sliderIndicatorVisible: true
|
||||
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
visible: indirectLightEnabledCheckBox.checked
|
||||
text: qsTr("Indirect Light Factor")
|
||||
tooltip: qsTr("Multiplier for the indirect light amount.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
visible: indirectLightEnabledCheckBox.checked
|
||||
SpinBox {
|
||||
minimumValue: 0
|
||||
maximumValue: 10
|
||||
decimals: 2
|
||||
stepSize: 0.01
|
||||
backendValue: backendValues.indirectLightFactor
|
||||
sliderIndicatorVisible: true
|
||||
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
visible: indirectLightEnabledCheckBox.checked
|
||||
text: qsTr("Indirect Workgroup Size")
|
||||
tooltip: qsTr("The size of the workgroup used for indirect light computation.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
visible: indirectLightEnabledCheckBox.checked
|
||||
SpinBox {
|
||||
minimumValue: 1
|
||||
maximumValue: 512
|
||||
decimals: 0
|
||||
stepSize: 1
|
||||
backendValue: backendValues.indirectLightWorkgroupSize
|
||||
sliderIndicatorVisible: true
|
||||
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user