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