| /**************************************************************************** |
| ** |
| ** Copyright (C) 2019 The Qt Company Ltd. |
| ** Contact: https://www.qt.io/licensing/ |
| ** |
| ** This file is part of Qt Quick 3D. |
| ** |
| ** $QT_BEGIN_LICENSE:GPL$ |
| ** Commercial License Usage |
| ** Licensees holding valid commercial Qt licenses may use this file in |
| ** accordance with the commercial license agreement provided with the |
| ** Software or, alternatively, in accordance with the terms contained in |
| ** a written agreement between you and The Qt Company. For licensing terms |
| ** and conditions see https://www.qt.io/terms-conditions. For further |
| ** information use the contact form at https://www.qt.io/contact-us. |
| ** |
| ** GNU General Public License Usage |
| ** Alternatively, this file may be used under the terms of the GNU |
| ** General Public License version 3 or (at your option) any later version |
| ** approved by the KDE Free Qt Foundation. The licenses are as published by |
| ** the Free Software Foundation and appearing in the file LICENSE.GPL3 |
| ** included in the packaging of this file. Please review the following |
| ** information to ensure the GNU General Public License requirements will |
| ** be met: https://www.gnu.org/licenses/gpl-3.0.html. |
| ** |
| ** $QT_END_LICENSE$ |
| ** |
| ****************************************************************************/ |
| |
| import QtQuick 2.15 |
| import HelperWidgets 2.0 |
| import QtQuick.Layouts 1.12 |
| |
| Section { |
| caption: qsTr("Shadows") |
| width: parent.width |
| |
| SectionLayout { |
| |
| Label { |
| text: qsTr("Casts Shadow") |
| tooltip: qsTr("Enables shadow casting for this light.") |
| } |
| SecondColumnLayout { |
| CheckBox { |
| id: shadowCheckBox |
| text: backendValues.castsShadow.valueToString |
| backendValue: backendValues.castsShadow |
| Layout.fillWidth: true |
| } |
| } |
| |
| // ### all the following should only be shown when shadows are enabled |
| Label { |
| text: qsTr("Shadow Factor") |
| tooltip: qsTr("Determines how dark the cast shadows should be.") |
| } |
| SecondColumnLayout { |
| SpinBox { |
| minimumValue: 0.0 |
| maximumValue: 100.0 |
| decimals: 0 |
| backendValue: backendValues.shadowFactor |
| Layout.fillWidth: true |
| enabled: shadowCheckBox.backendValue.value === true |
| } |
| } |
| |
| Label { |
| text: qsTr("Shadow Filter") |
| tooltip: qsTr("Sets how much blur is applied to the shadows.") |
| } |
| SecondColumnLayout { |
| SpinBox { |
| minimumValue: 1.0 |
| maximumValue: 100.0 |
| decimals: 0 |
| backendValue: backendValues.shadowFilter |
| Layout.fillWidth: true |
| enabled: shadowCheckBox.backendValue.value === true |
| } |
| } |
| |
| Label { |
| text: qsTr("Shadow Map Quality") |
| tooltip: qsTr("Sets the quality of the shadow map created for shadow rendering.") |
| } |
| SecondColumnLayout { |
| ComboBox { |
| scope: "Light" |
| model: ["ShadowMapQualityLow", "ShadowMapQualityMedium", "ShadowMapQualityHigh", "ShadowMapQualityVeryHigh"] |
| backendValue: backendValues.shadowMapQuality |
| Layout.fillWidth: true |
| enabled: shadowCheckBox.backendValue.value === true |
| } |
| } |
| |
| Label { |
| text: qsTr("Shadow Bias") |
| tooltip: qsTr("Sets a slight offset to avoid self-shadowing artifacts.") |
| } |
| SecondColumnLayout { |
| SpinBox { |
| minimumValue: -1.0 |
| maximumValue: 1.0 |
| decimals: 2 |
| stepSize: 0.1 |
| backendValue: backendValues.shadowBias |
| Layout.fillWidth: true |
| enabled: shadowCheckBox.backendValue.value === true |
| } |
| } |
| |
| Label { |
| text: qsTr("Shadow Map Far") |
| tooltip: qsTr("Determines the maximum distance for the shadow map.") |
| } |
| SecondColumnLayout { |
| SpinBox { |
| maximumValue: 9999999 |
| minimumValue: -9999999 |
| realDragRange: 5000 |
| decimals: 0 |
| stepSize: 100 |
| backendValue: backendValues.shadowMapFar |
| Layout.fillWidth: true |
| enabled: shadowCheckBox.backendValue.value === true |
| } |
| } |
| |
| } |
| } |
| |