| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- // 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("Reflection Probe")
- SectionLayout {
- PropertyLabel {
- text: qsTr("Box Size")
- tooltip: qsTr("Sets the reflection probe box size.")
- }
- SecondColumnLayout {
- SpinBox {
- minimumValue: 0
- maximumValue: 9999999
- decimals: 2
- backendValue: backendValues.boxSize_x
- implicitWidth: StudioTheme.Values.singleControlColumnWidth
- + StudioTheme.Values.actionIndicatorWidth
- }
- Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
- ControlLabel {
- text: "box size x"
- color: StudioTheme.Values.theme3DAxisXColor
- }
- ExpandingSpacer {}
- }
- PropertyLabel {}
- SecondColumnLayout {
- SpinBox {
- minimumValue: 0
- maximumValue: 9999999
- decimals: 2
- backendValue: backendValues.boxSize_y
- implicitWidth: StudioTheme.Values.singleControlColumnWidth
- + StudioTheme.Values.actionIndicatorWidth
- }
- Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
- ControlLabel {
- text: "box size y"
- color: StudioTheme.Values.theme3DAxisYColor
- }
- ExpandingSpacer {}
- }
- PropertyLabel {}
- SecondColumnLayout {
- SpinBox {
- minimumValue: 0
- maximumValue: 9999999
- decimals: 2
- backendValue: backendValues.boxSize_z
- implicitWidth: StudioTheme.Values.singleControlColumnWidth
- + StudioTheme.Values.actionIndicatorWidth
- }
- Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
- ControlLabel {
- text: "box size z"
- color: StudioTheme.Values.theme3DAxisZColor
- }
- ExpandingSpacer {}
- }
- PropertyLabel {
- text: qsTr("Box Offset")
- tooltip: qsTr("Sets the reflection probe box position relative to the probe position.")
- }
- SecondColumnLayout {
- SpinBox {
- minimumValue: -9999999
- maximumValue: 9999999
- decimals: 2
- backendValue: backendValues.boxOffset_x
- implicitWidth: StudioTheme.Values.singleControlColumnWidth
- + StudioTheme.Values.actionIndicatorWidth
- }
- Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
- ControlLabel {
- text: "box offset x"
- color: StudioTheme.Values.theme3DAxisXColor
- }
- ExpandingSpacer {}
- }
- PropertyLabel {}
- SecondColumnLayout {
- SpinBox {
- minimumValue: -9999999
- maximumValue: 9999999
- decimals: 2
- backendValue: backendValues.boxOffset_y
- implicitWidth: StudioTheme.Values.singleControlColumnWidth
- + StudioTheme.Values.actionIndicatorWidth
- }
- Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
- ControlLabel {
- text: "box offset y"
- color: StudioTheme.Values.theme3DAxisYColor
- }
- ExpandingSpacer {}
- }
- PropertyLabel {}
- SecondColumnLayout {
- SpinBox {
- minimumValue: -9999999
- maximumValue: 9999999
- decimals: 2
- backendValue: backendValues.boxOffset_z
- implicitWidth: StudioTheme.Values.singleControlColumnWidth
- + StudioTheme.Values.actionIndicatorWidth
- }
- Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
- ControlLabel {
- text: "box offset z"
- color: StudioTheme.Values.theme3DAxisZColor
- }
- ExpandingSpacer {}
- }
- PropertyLabel {
- text: qsTr("Parallax Correction")
- tooltip: qsTr("Reflection maps are considered to be at infinite distance by default. This is unsuitable for indoor area as it produces parallax issues.\nSetting this property to true corrects the cubemap by taking the camera position and the box's dimension into account.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.parallaxCorrection.valueToString
- backendValue: backendValues.parallaxCorrection
- implicitWidth: StudioTheme.Values.twoControlColumnWidth
- + StudioTheme.Values.actionIndicatorWidth
- }
- ExpandingSpacer {}
- }
- PropertyLabel {
- text: qsTr("Debug View")
- tooltip: qsTr("Enables rendering a wireframe to visualize the reflection probe box.")
- }
- SecondColumnLayout {
- CheckBox {
- text: backendValues.debugView.valueToString
- backendValue: backendValues.debugView
- implicitWidth: StudioTheme.Values.twoControlColumnWidth
- + StudioTheme.Values.actionIndicatorWidth
- }
- ExpandingSpacer {}
- }
- PropertyLabel {
- text: qsTr("Clear Color")
- tooltip: qsTr("Sets the color that will be used to clear the reflection map.")
- }
- ColorEditor {
- backendValue: backendValues.clearColor
- supportGradient: false
- }
- PropertyLabel {
- text: qsTr("Reflection Map Quality")
- tooltip: qsTr("Sets the quality of the reflection map.")
- }
- SecondColumnLayout {
- ComboBox {
- scope: "ReflectionProbe"
- model: ["VeryLow", "Low", "Medium", "High", "VeryHigh"]
- backendValue: backendValues.quality
- implicitWidth: StudioTheme.Values.singleControlColumnWidth
- + StudioTheme.Values.actionIndicatorWidth
- }
- ExpandingSpacer {}
- }
- PropertyLabel {
- text: qsTr("Refresh Mode")
- tooltip: qsTr("Sets how often the reflection map will be updated.")
- }
- SecondColumnLayout {
- ComboBox {
- scope: "ReflectionProbe"
- model: ["FirstFrame", "EveryFrame"]
- backendValue: backendValues.refreshMode
- implicitWidth: StudioTheme.Values.singleControlColumnWidth
- + StudioTheme.Values.actionIndicatorWidth
- }
- ExpandingSpacer {}
- }
- PropertyLabel {
- text: qsTr("Time Slicing")
- tooltip: qsTr("Sets how often the faces of the reflection cube map are updated.")
- }
- SecondColumnLayout {
- ComboBox {
- scope: "ReflectionProbe"
- model: ["None", "AllFacesAtOnce", "IndividualFaces"]
- backendValue: backendValues.timeSlicing
- implicitWidth: StudioTheme.Values.singleControlColumnWidth
- + StudioTheme.Values.actionIndicatorWidth
- }
- ExpandingSpacer {}
- }
- PropertyLabel {
- text: qsTr("Override Texture")
- tooltip: qsTr("Sets an override texture to use for the reflection map instead of rendering the scene.")
- }
- SecondColumnLayout {
- ItemFilterComboBox {
- typeFilter: "QtQuick3D.CubeMapTexture"
- backendValue: backendValues.texture
- implicitWidth: StudioTheme.Values.singleControlColumnWidth
- + StudioTheme.Values.actionIndicatorWidth
- }
- ExpandingSpacer {}
- }
- }
- }
|