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

138 lines
4.5 KiB
QML

// Copyright (C) 2024 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("Cascades")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("No. Splits")
tooltip: qsTr("The number of cascade splits for this light.")
}
SecondColumnLayout {
ComboBox {
id: numSplitsComboBox
valueType: ComboBox.ValueType.Integer
model: [0, 1, 2, 3]
backendValue: backendValues.csmNumSplits
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
visible: numSplitsComboBox.currentIndex > 0
text: qsTr("Blend ratio")
tooltip: qsTr("Defines how much of the shadow of any cascade should be blended together with the previous one.")
}
SecondColumnLayout {
visible: numSplitsComboBox.currentIndex > 0
SpinBox {
minimumValue: 0
maximumValue: 1
decimals: 2
stepSize: 0.01
backendValue: backendValues.csmBlendRatio
sliderIndicatorVisible: true
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
visible: numSplitsComboBox.currentIndex > 0
text: qsTr("Split 1")
tooltip: qsTr("Defines where the first cascade of the shadow map split will occur.")
}
SecondColumnLayout {
visible: numSplitsComboBox.currentIndex > 0
SpinBox {
minimumValue: 0
maximumValue: 1
decimals: 2
stepSize: 0.01
backendValue: backendValues.csmSplit1
sliderIndicatorVisible: true
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
visible: numSplitsComboBox.currentIndex > 1
text: qsTr("Split 2")
tooltip: qsTr("Defines where the second cascade of the shadow map split will occur.")
}
SecondColumnLayout {
visible: numSplitsComboBox.currentIndex > 1
SpinBox {
minimumValue: 0
maximumValue: 1
decimals: 2
stepSize: 0.01
backendValue: backendValues.csmSplit2
sliderIndicatorVisible: true
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
visible: numSplitsComboBox.currentIndex > 2
text: qsTr("Split 3")
tooltip: qsTr("Defines where the third cascade of the shadow map split will occur.")
}
SecondColumnLayout {
visible: numSplitsComboBox.currentIndex > 2
SpinBox {
minimumValue: 0
maximumValue: 1
decimals: 2
stepSize: 0.01
backendValue: backendValues.csmSplit3
sliderIndicatorVisible: true
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Lock Shadowmap Texels")
tooltip: qsTr("Locks the shadowmap texels for this light to remove shadow edge shimmering.")
}
SecondColumnLayout {
CheckBox {
id: lockShadowmapTexelsCheckBox
text: backendValues.lockShadowmapTexels.valueToString
backendValue: backendValues.lockShadowmapTexels
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
}
}