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