Files
LAIC/venv/Lib/site-packages/PySide6/qml/QtQuick3D/designer/ShadowSection.qml
T
2026-04-29 07:19:21 +03:00

180 lines
6.0 KiB
QML

// 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 {}
}
}
}