Initial commit
This commit is contained in:
@@ -0,0 +1,179 @@
|
||||
// Copyright (C) 2021 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("Shadows")
|
||||
width: parent.width
|
||||
|
||||
SectionLayout {
|
||||
|
||||
PropertyLabel {
|
||||
text: qsTr("Casts Shadow")
|
||||
tooltip: qsTr("Enables shadow casting for this light.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
CheckBox {
|
||||
id: shadowCheckBox
|
||||
text: backendValues.castsShadow.valueToString
|
||||
backendValue: backendValues.castsShadow
|
||||
implicitWidth: StudioTheme.Values.twoControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
// ### all the following should only be shown when shadows are enabled
|
||||
PropertyLabel {
|
||||
visible: shadowCheckBox.checked
|
||||
text: qsTr("Amount")
|
||||
tooltip: qsTr("Sets how dark the cast shadows should be.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
visible: shadowCheckBox.checked
|
||||
SpinBox {
|
||||
minimumValue: 0.0
|
||||
maximumValue: 100.0
|
||||
decimals: 0
|
||||
sliderIndicatorVisible: true
|
||||
backendValue: backendValues.shadowFactor
|
||||
enabled: shadowCheckBox.backendValue.value === true
|
||||
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
visible: shadowCheckBox.checked
|
||||
text: qsTr("Quality")
|
||||
tooltip: qsTr("Sets the quality of the shadow map created for shadow rendering.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
visible: shadowCheckBox.checked
|
||||
ComboBox {
|
||||
scope: "Light"
|
||||
model: ["ShadowMapQualityLow", "ShadowMapQualityMedium", "ShadowMapQualityHigh", "ShadowMapQualityVeryHigh", "ShadowMapQualityUltra"]
|
||||
backendValue: backendValues.shadowMapQuality
|
||||
enabled: shadowCheckBox.backendValue.value === true
|
||||
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
visible: shadowCheckBox.checked
|
||||
text: qsTr("Bias")
|
||||
tooltip: qsTr("Sets a slight offset to avoid self-shadowing artifacts.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
visible: shadowCheckBox.checked
|
||||
SpinBox {
|
||||
minimumValue: 0
|
||||
maximumValue: 9999999
|
||||
decimals: 2
|
||||
stepSize: 1
|
||||
backendValue: backendValues.shadowBias
|
||||
enabled: shadowCheckBox.backendValue.value === true
|
||||
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
visible: shadowCheckBox.checked
|
||||
text: qsTr("Soft Shadow Quality")
|
||||
tooltip: qsTr("Sets the quality of the soft shadows.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
visible: shadowCheckBox.checked
|
||||
ComboBox {
|
||||
scope: "Light"
|
||||
model: ["Hard", "PCF4", "PCF8", "PCF16", "PCF32", "PCF64"]
|
||||
backendValue: backendValues.softShadowQuality
|
||||
enabled: shadowCheckBox.backendValue.value === true
|
||||
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
visible: shadowCheckBox.checked
|
||||
text: qsTr("PCF Factor")
|
||||
tooltip: qsTr("Sets the PCF (percentage-closer filtering) factor.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
visible: shadowCheckBox.checked
|
||||
SpinBox {
|
||||
minimumValue: 0
|
||||
maximumValue: 9999999
|
||||
decimals: 1
|
||||
stepSize: 0.1
|
||||
backendValue: backendValues.pcfFactor
|
||||
enabled: shadowCheckBox.backendValue.value === true
|
||||
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
visible: shadowCheckBox.checked
|
||||
text: qsTr("Far Distance")
|
||||
tooltip: qsTr("Sets the maximum distance for the shadow map.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
visible: shadowCheckBox.checked
|
||||
SpinBox {
|
||||
minimumValue: 0
|
||||
maximumValue: 9999999
|
||||
decimals: 0
|
||||
stepSize: 10
|
||||
backendValue: backendValues.shadowMapFar
|
||||
enabled: shadowCheckBox.backendValue.value === true
|
||||
implicitWidth: StudioTheme.Values.singleControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
||||
PropertyLabel {
|
||||
visible: shadowCheckBox.checked
|
||||
text: qsTr("Use 32-bit Shadowmap")
|
||||
tooltip: qsTr("Enables a 32-bit shadowmap texture for this light.")
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
visible: shadowCheckBox.checked
|
||||
CheckBox {
|
||||
text: backendValues.use32BitShadowmap.valueToString
|
||||
backendValue: backendValues.use32BitShadowmap
|
||||
implicitWidth: StudioTheme.Values.twoControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
}
|
||||
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user