Initial commit

This commit is contained in:
2026-04-29 07:19:21 +03:00
commit 9a8cdfa08a
5964 changed files with 1194660 additions and 0 deletions
@@ -0,0 +1,392 @@
// 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("Texture")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("Source")
tooltip: qsTr("Sets the location of an image file containing the data used by the texture.")
}
SecondColumnLayout {
UrlChooser {
backendValue: backendValues.source
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Source Item")
tooltip: qsTr("Sets an item to be used as the source of the texture.")
}
SecondColumnLayout {
ItemFilterComboBox {
typeFilter: "QtQuick.Item"
backendValue: backendValues.sourceItem
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Texture Data")
tooltip: qsTr("Sets a reference to a TextureData component which defines the contents and properties of raw texture data.")
}
SecondColumnLayout {
ItemFilterComboBox {
typeFilter: "QtQuick3D.TextureData"
backendValue: backendValues.textureData
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Scale")
}
SecondColumnLayout {
SpinBox {
minimumValue: 0
maximumValue: 999999
decimals: 2
backendValue: backendValues.scaleU
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "U"
tooltip: qsTr("Sets how to scale the U texture coordinate when mapping to UV coordinates of a mesh.")
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
minimumValue: 0
maximumValue: 999999
decimals: 2
backendValue: backendValues.scaleV
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "V"
tooltip: qsTr("Sets how to scale the V texture coordinate when mapping to UV coordinates of a mesh.")
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Flip V")
tooltip: qsTr("Sets the use of the vertically flipped coordinates.")
}
SecondColumnLayout {
CheckBox {
id: flipVcheckBox
text: backendValues.flipV.valueToString
backendValue: backendValues.flipV
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Flip U")
tooltip: qsTr("Sets the use of the horizontally flipped texture coordinates.")
}
SecondColumnLayout {
CheckBox {
id: flipUCheckBox
text: backendValues.flipU.valueToString
backendValue: backendValues.flipU
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Auto Orientation")
tooltip: qsTr("Sets if a texture transformation, such as flipping the V texture coordinate, is applied automatically for textures where this is typically relevant.")
}
SecondColumnLayout {
CheckBox {
id: autoOrientationCheckBox
text: backendValues.autoOrientation.valueToString
backendValue: backendValues.autoOrientation
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Texture Mapping")
tooltip: qsTr("Sets which method of mapping to use when sampling this texture.")
}
SecondColumnLayout {
ComboBox {
scope: "Texture"
model: ["UV", "Environment", "LightProbe"]
backendValue: backendValues.mappingMode
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
}
PropertyLabel {
text: qsTr("U Tiling")
tooltip: qsTr("Sets how the texture is mapped when the U scaling value is greater than 1.")
}
SecondColumnLayout {
ComboBox {
scope: "Texture"
model: ["ClampToEdge", "MirroredRepeat", "Repeat"]
backendValue: backendValues.tilingModeHorizontal
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("V Tiling")
tooltip: qsTr("Sets how the texture is mapped when the V scaling value is greater than 1.")
}
SecondColumnLayout {
ComboBox {
scope: "Texture"
model: ["ClampToEdge", "MirroredRepeat", "Repeat"]
backendValue: backendValues.tilingModeVertical
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("UV Index")
tooltip: qsTr("Sets the UV coordinate index used by this texture.")
}
SecondColumnLayout {
SpinBox {
minimumValue: 0
maximumValue: 999999
decimals: 0
backendValue: backendValues.indexUV
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("UV Rotation")
tooltip: qsTr("Sets the rotation of the texture around the pivot point.")
}
SecondColumnLayout {
SpinBox {
maximumValue: 999999
minimumValue: -999999
decimals: 0
backendValue: backendValues.rotationUV
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Position")
}
SecondColumnLayout {
SpinBox {
maximumValue: 999999
minimumValue: -999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.positionU
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "U"
tooltip: qsTr("Sets the U coordinate mapping offset from left to right.")
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
maximumValue: 999999
minimumValue: -999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.positionV
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "V"
tooltip: qsTr("Sets the V coordinate mapping offset from bottom to top.")
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Pivot")
}
SecondColumnLayout {
SpinBox {
maximumValue: 999999
minimumValue: -999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.pivotU
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "U"
tooltip: qsTr("Sets the pivot U position.")
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
maximumValue: 999999
minimumValue: -999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.pivotV
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "V"
tooltip: qsTr("Sets the pivot V position.")
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Generate Mipmaps")
tooltip: qsTr("Sets if mipmaps are generated for textures that do not provide mipmap levels themselves.")
}
SecondColumnLayout {
CheckBox {
id: generateMipmapscheckBox
text: backendValues.generateMipmaps.valueToString
backendValue: backendValues.generateMipmaps
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Mag Filter")
tooltip: qsTr("Sets how the texture is sampled when a texel covers more than one pixel.")
}
SecondColumnLayout {
ComboBox {
scope: "Texture"
model: ["None", "Nearest", "Linear"]
backendValue: backendValues.magFilter
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Min Filter")
tooltip: qsTr("Sets how the texture is sampled when a texel covers more than one pixel.")
}
SecondColumnLayout {
ComboBox {
scope: "Texture"
model: ["None", "Nearest", "Linear"]
backendValue: backendValues.minFilter
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Mip Filter")
tooltip: qsTr("Sets how the texture mipmaps are sampled when a texel covers less than one pixel.")
}
SecondColumnLayout {
ComboBox {
scope: "Texture"
model: ["None", "Nearest", "Linear"]
backendValue: backendValues.mipFilter
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
}
}