aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorJohanna Vanhatapio <johanna.vanhatapio@qt.io>2020-10-30 12:32:34 +0200
committerJohanna Vanhatapio <johanna.vanhatapio@qt.io>2020-11-05 10:42:07 +0000
commit8f69e3d3173ebc0f860c22007ae0e5aca7724543 (patch)
tree7ddabe2b420e54d0fe0f7841929bc315dee8267f /doc
parent7ac879a1336cb6d0783ab1c2884b6ba8b76d2ec3 (diff)
Doc: Add the Optimal 3D Scene to examples
...and link to Creating Optimized 3D Scenes. Fixes: QDS-3020 Change-Id: I666afca460e9e0e3afb2b612780f486a094cb45c Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'doc')
-rw-r--r--doc/qtcreator/src/qtquick/qtdesignstudio-optimized-3d-scenes.qdoc2
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/Optimal3DScene.qml60
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/Optimal3DScene.qmlproject46
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/Screen01.ui.qml191
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/High.hints3
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/High.qml496
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/_icons/High_libiconbin0 -> 662 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/_icons/High_libicon@2xbin0 -> 1304 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftDoor1.meshbin0 -> 968 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftDoor2.meshbin0 -> 968 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftDoor3.meshbin0 -> 968 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftHigh.meshbin0 -> 5720 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cornerHigh.meshbin0 -> 2552 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/floor.meshbin0 -> 360 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/fridgeDoor.meshbin0 -> 10604 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/fridgeHigh.meshbin0 -> 7532 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile.meshbin0 -> 6000 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_001.meshbin0 -> 6000 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_002.meshbin0 -> 8160 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_003.meshbin0 -> 6000 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_004.meshbin0 -> 8160 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_005.meshbin0 -> 8160 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/ovenHigh.meshbin0 -> 3804 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/ovenLatch.meshbin0 -> 3660 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/plateHigh.meshbin0 -> 3624 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/plateHigh_001.meshbin0 -> 3624 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/plateHigh_002.meshbin0 -> 3624 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/roofHighpoly.meshbin0 -> 356 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/roofLightHigh.meshbin0 -> 17900 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/roomBaseHigh.meshbin0 -> 1364 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/sinkCabinHigh.meshbin0 -> 6720 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/sinkCabinHigh_001.meshbin0 -> 968 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/sinkCabinHigh_002.meshbin0 -> 968 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/tapHigh.meshbin0 -> 13292 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/qmldir2
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/Low.hints3
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/Low.qml298
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/_icons/Low_libiconbin0 -> 640 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/_icons/Low_libicon@2xbin0 -> 1215 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/cabinsLeftLow.meshbin0 -> 5208 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/corner.meshbin0 -> 2552 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/fridgeLow.meshbin0 -> 2012 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/kitchenTilesLow.meshbin0 -> 41280 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/ovenLow.meshbin0 -> 4620 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/plateLow.meshbin0 -> 3624 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/plateLow_001.meshbin0 -> 3624 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/plateLow_002.meshbin0 -> 3624 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/roofLightLow.meshbin0 -> 17900 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/roomBaseLow.meshbin0 -> 1712 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/sinkCabinLow.meshbin0 -> 6016 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/tapLow.meshbin0 -> 13292 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/qmldir2
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/Merged.hints3
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/Merged.qml85
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/_icons/Merged_libiconbin0 -> 548 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/_icons/Merged_libicon@2xbin0 -> 1029 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/colormap.pngbin0 -> 39473 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/meshes/roomBaseLow_002.meshbin0 -> 131076 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/qmldir2
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/VertexColor.hints3
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/VertexColor.qml88
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/_icons/VertexColor_libiconbin0 -> 490 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/_icons/VertexColor_libicon@2xbin0 -> 1024 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftDoor1.meshbin0 -> 968 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftDoor2.meshbin0 -> 968 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftDoor3.meshbin0 -> 968 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftHigh.meshbin0 -> 5720 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftLow.meshbin0 -> 5208 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftLow_001.meshbin0 -> 5220 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/corner.meshbin0 -> 2552 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cornerHigh.meshbin0 -> 2552 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/corner_001.meshbin0 -> 2576 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/floor.meshbin0 -> 360 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/fridgeDoor.meshbin0 -> 10604 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/fridgeHigh.meshbin0 -> 7532 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/fridgeLow.meshbin0 -> 2012 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile.meshbin0 -> 6000 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_001.meshbin0 -> 6000 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_002.meshbin0 -> 8160 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_003.meshbin0 -> 6000 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_004.meshbin0 -> 8160 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_005.meshbin0 -> 8160 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTilesLow.meshbin0 -> 41280 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTilesLow_001.meshbin0 -> 34800 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/ovenHigh.meshbin0 -> 3804 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/ovenLatch.meshbin0 -> 3660 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/ovenLow.meshbin0 -> 4620 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateHigh.meshbin0 -> 3624 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateHigh_001.meshbin0 -> 3624 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateHigh_002.meshbin0 -> 3624 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateLow.meshbin0 -> 3624 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateLow_001.meshbin0 -> 3624 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateLow_002.meshbin0 -> 3624 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofHighpoly.meshbin0 -> 356 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLightHigh.meshbin0 -> 17900 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLightLow.meshbin0 -> 17900 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLightLow_001.meshbin0 -> 17924 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLowpoly_001.meshbin0 -> 380 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseHigh.meshbin0 -> 1364 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow.meshbin0 -> 1712 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_001.meshbin0 -> 1536 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_002.meshbin0 -> 131068 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_003.meshbin0 -> 128668 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_004.meshbin0 -> 130488 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_005.meshbin0 -> 136180 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinHigh.meshbin0 -> 6720 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinHigh_001.meshbin0 -> 968 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinHigh_002.meshbin0 -> 968 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinLow.meshbin0 -> 6016 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinLow_001.meshbin0 -> 6128 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/tapHigh.meshbin0 -> 13292 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/tapLow.meshbin0 -> 13292 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/qmldir2
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/colormap.pngbin0 -> 38515 bytes
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/fonts/fonts.txt1
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/Constants.qml77
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/DirectoryFontLoader.qml60
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/qmldir2
-rw-r--r--doc/qtdesignstudio/examples/Optimal3DScene/qtquickcontrols2.conf6
-rw-r--r--doc/qtdesignstudio/examples/doc/Optimal3DScene.qdoc37
120 files changed, 1468 insertions, 1 deletions
diff --git a/doc/qtcreator/src/qtquick/qtdesignstudio-optimized-3d-scenes.qdoc b/doc/qtcreator/src/qtquick/qtdesignstudio-optimized-3d-scenes.qdoc
index 415c7bd3f3..01a8883189 100644
--- a/doc/qtcreator/src/qtquick/qtdesignstudio-optimized-3d-scenes.qdoc
+++ b/doc/qtcreator/src/qtquick/qtdesignstudio-optimized-3d-scenes.qdoc
@@ -44,7 +44,7 @@
\section1 The Optimal 3D Scene Example
- The Optimal 3D Scene example features four versions of the same kitchen
+ The \l {Optimal 3D Scene} example features four versions of the same kitchen
scene that have been created using different strategies: High, Low, Combined,
and Vertex Color. The High Scene includes a significantly higher number of
objects compared to the other versions of the scene. The Low, Combined and
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/Optimal3DScene.qml b/doc/qtdesignstudio/examples/Optimal3DScene/Optimal3DScene.qml
new file mode 100644
index 0000000000..00b872df79
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/Optimal3DScene.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.12
+import Optimal3DScene 1.0
+
+Item {
+ width: Constants.width
+ height: Constants.height
+
+ Screen01 {
+ }
+}
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/Optimal3DScene.qmlproject b/doc/qtdesignstudio/examples/Optimal3DScene/Optimal3DScene.qmlproject
new file mode 100644
index 0000000000..f5968a4ceb
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/Optimal3DScene.qmlproject
@@ -0,0 +1,46 @@
+/* File generated by Qt Creator */
+
+import QmlProject 1.1
+
+Project {
+ mainFile: "Optimal3DScene.qml"
+
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+
+ JavaScriptFiles {
+ directory: "."
+ }
+
+ ImageFiles {
+ directory: "."
+ }
+
+ Files {
+ filter: "*.conf"
+ files: ["qtquickcontrols2.conf"]
+ }
+
+ Files {
+ filter: "qmldir"
+ directory: "."
+ }
+
+ Files {
+ filter: "*.ttf;*.otf"
+ }
+
+ Environment {
+ QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf"
+ QT_AUTO_SCREEN_SCALE_FACTOR: "1"
+ QMLSCENE_CORE_PROFILE: "true"
+ }
+
+ /* List of plugin directories passed to QML runtime */
+ importPaths: [ "imports", "asset_imports" ]
+
+ /* Required for deployment */
+ targetDirectory: "/opt/Optimal3DScene"
+}
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/Screen01.ui.qml b/doc/qtdesignstudio/examples/Optimal3DScene/Screen01.ui.qml
new file mode 100644
index 0000000000..95739a67f6
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/Screen01.ui.qml
@@ -0,0 +1,191 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.12
+import QtQuick3D 1.15
+import Optimal3DScene 1.0
+import Quick3DAssets.High 1.0
+import Quick3DAssets.Low 1.0
+import Quick3DAssets.Merged 1.0
+import QtQuick 2.15
+import Quick3DAssets.VertexColor 1.0
+
+Rectangle {
+ width: Constants.width
+ height: Constants.height
+
+ color: Constants.backgroundColor
+ property alias high: high
+
+ View3D {
+ id: view3D
+ x: 0
+ y: 0
+ width: 1280
+ height: 720
+ SceneEnvironment {
+ id: sceneEnvironment
+ antialiasingQuality: SceneEnvironment.High
+ antialiasingMode: SceneEnvironment.MSAA
+ }
+
+ Node {
+ id: scenelow
+
+ PerspectiveCamera {
+ id: camera
+ x: 0
+ y: 501.999
+ z: 953.07697
+ }
+
+ Low {
+ id: low
+ eulerRotation.z: 0.00001
+ eulerRotation.y: -135
+ eulerRotation.x: 0.00002
+ }
+
+ PointLight {
+ id: lightPoint
+ x: 0
+ y: 888.433
+ castsShadow: true
+ brightness: 400
+ quadraticFade: 0.01318
+ z: -0.00007
+ }
+ }
+
+ Node {
+ id: scenehigh
+ PerspectiveCamera {
+ id: camera1
+ x: 0
+ y: 501.999
+ z: 953.07697
+ }
+
+ PointLight {
+ id: lightPoint1
+ x: 0
+ y: 888.433
+ brightness: 400
+ castsShadow: true
+ z: -0.00007
+ quadraticFade: 0.01318
+ }
+
+ High {
+ id: high
+ eulerRotation.y: -135
+ }
+ }
+
+ Node {
+ id: scenecombined
+ PerspectiveCamera {
+ id: camera2
+ x: 0
+ y: 501.999
+ z: 953.07697
+ }
+
+ PointLight {
+ id: lightPoint2
+ x: 0
+ y: 888.433
+ brightness: 350
+ castsShadow: true
+ z: -0.00007
+ quadraticFade: 0.01318
+ }
+
+ Merged {
+ id: merged
+ eulerRotation.y: -135
+ }
+ }
+
+ Node {
+ id: scenevertexcolor
+ PerspectiveCamera {
+ id: camera3
+ x: 0
+ y: 501.999
+ z: 953.07697
+ }
+
+ PointLight {
+ id: lightPoint3
+ x: 0
+ y: 888.433
+ brightness: 350
+ castsShadow: true
+ z: -0.00007
+ quadraticFade: 0.01318
+ }
+
+ VertexColor {
+ id: vertexColor
+ eulerRotation.y: -135
+ }
+ }
+ environment: sceneEnvironment
+ }
+}
+
+/*##^##
+Designer {
+ D{i:0;active3dScene:10;formeditorZoom:0.6600000262260437}D{i:3;invisible:true}D{i:7;invisible:true}
+D{i:11;invisible:true}
+}
+##^##*/
+
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/High.hints b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/High.hints
new file mode 100644
index 0000000000..5ef26ba572
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/High.hints
@@ -0,0 +1,3 @@
+visibleInNavigator: true
+canBeDroppedInFormEditor: false
+canBeDroppedInView3D: true
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/High.qml b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/High.qml
new file mode 100644
index 0000000000..785c4ed72c
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/High.qml
@@ -0,0 +1,496 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick3D 1.15
+
+Node {
+ id: rootNode
+
+ Model {
+ id: floor
+ eulerRotation.x: -90
+ scale.x: 800
+ scale.y: 800
+ scale.z: 800
+ source: "meshes/floor.mesh"
+
+ DefaultMaterial {
+ id: floor_material
+ diffuseColor: "#ff353b2a"
+ }
+ materials: [
+ floor_material
+ ]
+ }
+
+ Model {
+ id: ovenLatch
+ x: -500
+ y: 100
+ z: -350
+ eulerRotation.x: -44.54277
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/ovenLatch.mesh"
+ eulerRotation.z: -90
+ eulerRotation.y: 90
+
+ DefaultMaterial {
+ id: induction_material
+ diffuseColor: "#ff040404"
+ }
+
+ DefaultMaterial {
+ id: oven_material
+ diffuseColor: "#ffa3a3a3"
+ }
+ materials: [
+ induction_material,
+ oven_material
+ ]
+ }
+
+ Model {
+ id: ovenHigh
+ x: -600
+ z: -300
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/ovenHigh.mesh"
+ materials: [
+ oven_material,
+ induction_material
+ ]
+ }
+
+ Model {
+ id: tapHigh
+ x: -679.799
+ y: 420
+ z: 100
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/tapHigh.mesh"
+ materials: [
+ oven_material
+ ]
+ }
+
+ Model {
+ id: fridgeDoor
+ x: 499
+ y: 450.82
+ z: 500
+ eulerRotation.x: -89.98022
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/fridgeDoor.mesh"
+ eulerRotation.z: -160.70996
+ eulerRotation.y: 17.65012
+ materials: [
+ oven_material
+ ]
+ }
+
+ Model {
+ id: fridgeHigh
+ x: 300
+ y: 0.82016
+ z: 600
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/fridgeHigh.mesh"
+ materials: [
+ oven_material
+ ]
+ }
+
+ Model {
+ id: plateHigh
+ y: 417.734
+ z: 600
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/plateHigh.mesh"
+
+ DefaultMaterial {
+ id: plate_material
+ diffuseColor: "#ff8fa365"
+ }
+ materials: [
+ plate_material
+ ]
+ }
+
+ Model {
+ id: plateHigh_001
+ x: -200
+ y: 417.734
+ z: 600
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/plateHigh_001.mesh"
+ materials: [
+ plate_material
+ ]
+ }
+
+ Model {
+ id: plateHigh_002
+ y: 424.176
+ z: 600
+ eulerRotation.x: -90
+ eulerRotation.y: -19.7049
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/plateHigh_002.mesh"
+ materials: [
+ plate_material
+ ]
+ }
+
+ Model {
+ id: roofLightHigh
+ x: -0.000179373
+ y: 1200.82
+ z: -1.67638e-06
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/roofLightHigh.mesh"
+
+ DefaultMaterial {
+ id: lamp_material
+ diffuseColor: "#ff0c0c0c"
+ }
+ materials: [
+ lamp_material
+ ]
+ }
+
+ Model {
+ id: roofHighpoly
+ y: 1200
+ z: -0.999999
+ eulerRotation.x: -90
+ scale.x: 800
+ scale.y: 800
+ scale.z: 800
+ source: "meshes/roofHighpoly.mesh"
+
+ DefaultMaterial {
+ id: roof_material
+ diffuseColor: "#ff747474"
+ }
+ materials: [
+ roof_material
+ ]
+ }
+
+ Model {
+ id: sinkCabinHigh_002
+ x: -500
+ y: 250
+ z: -99
+ eulerRotation.x: -89.97202
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/sinkCabinHigh_002.mesh"
+ eulerRotation.z: -18.43495
+ eulerRotation.y: 45
+
+ DefaultMaterial {
+ id: cabinDoor_material
+ diffuseColor: "#ff505050"
+ }
+ materials: [
+ cabinDoor_material
+ ]
+ }
+
+ Model {
+ id: sinkCabinHigh_001
+ x: -500
+ y: 250
+ z: 299
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/sinkCabinHigh_001.mesh"
+ eulerRotation.z: 0
+ eulerRotation.y: 81.49729
+ materials: [
+ cabinDoor_material
+ ]
+ }
+
+ Node {
+ id: tileHolderHigh
+ x: 200
+ y: 430
+ z: 700
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+
+ Model {
+ id: kitchenTile_005
+ x: -9
+ y: 0.299997
+ z: 9.53674e-07
+ eulerRotation.z: -90
+ source: "meshes/kitchenTile_005.mesh"
+
+ DefaultMaterial {
+ id: tiles_material
+ diffuseColor: "#f6f4f4"
+ }
+ materials: [
+ tiles_material
+ ]
+ }
+
+ Model {
+ id: kitchenTile_004
+ x: -9
+ y: 0.299997
+ z: 1.1
+ eulerRotation.z: -90
+ source: "meshes/kitchenTile_004.mesh"
+ materials: [
+ tiles_material
+ ]
+ }
+
+ Model {
+ id: kitchenTile_002
+ x: -9
+ y: 0.299997
+ z: 2.2
+ eulerRotation.z: -90
+ source: "meshes/kitchenTile_002.mesh"
+ materials: [
+ tiles_material
+ ]
+ }
+
+ Model {
+ id: kitchenTile_003
+ y: -9.53674e-07
+ z: 2.2
+ source: "meshes/kitchenTile_003.mesh"
+ materials: [
+ tiles_material
+ ]
+ }
+
+ Model {
+ id: kitchenTile_001
+ y: -9.53674e-07
+ z: 1.1
+ source: "meshes/kitchenTile_001.mesh"
+ materials: [
+ tiles_material
+ ]
+ }
+
+ Model {
+ id: kitchenTile
+ source: "meshes/kitchenTile.mesh"
+ materials: [
+ tiles_material
+ ]
+ }
+ }
+
+ Model {
+ id: sinkCabinHigh
+ x: -600
+ z: 300
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/sinkCabinHigh.mesh"
+
+ DefaultMaterial {
+ id: sink_material
+ diffuseColor: "#ff2d2d2d"
+ }
+ materials: [
+ sink_material,
+ oven_material
+ ]
+ }
+
+ Model {
+ id: cornerHigh
+ x: -600
+ z: 600
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/cornerHigh.mesh"
+
+ DefaultMaterial {
+ id: cabinTop_material
+ diffuseColor: "#ff121212"
+ }
+ materials: [
+ cabinTop_material,
+ oven_material
+ ]
+ }
+
+ Model {
+ id: cabinsLeftDoor3
+ x: -399
+ y: 250
+ z: 500
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/cabinsLeftDoor3.mesh"
+ eulerRotation.x: -89.05581
+ eulerRotation.z: 179.99979
+ eulerRotation.y: -135.19951
+ materials: [
+ cabinDoor_material
+ ]
+ }
+
+ Model {
+ id: cabinsLeftDoor2
+ x: -199
+ y: 250
+ z: 500
+ eulerRotation.x: -89.98022
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/cabinsLeftDoor2.mesh"
+ eulerRotation.z: 53.1301
+ eulerRotation.y: -21.80141
+ materials: [
+ cabinDoor_material
+ ]
+ }
+
+ Model {
+ id: cabinsLeftDoor1
+ x: 0.999999
+ y: 250
+ z: 500
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/cabinsLeftDoor1.mesh"
+ eulerRotation.x: -88.52515
+ eulerRotation.z: -108.53853
+ eulerRotation.y: 173.47327
+ materials: [
+ cabinDoor_material
+ ]
+ }
+
+ Model {
+ id: cabinsLeftHigh
+ x: -100
+ y: 240.447
+ z: 580.588
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/cabinsLeftHigh.mesh"
+ materials: [
+ oven_material,
+ cabinTop_material
+ ]
+ }
+
+ Model {
+ id: roomBaseHigh
+ eulerRotation.x: -90
+ scale.x: 800
+ scale.y: 800
+ scale.z: 800
+ source: "meshes/roomBaseHigh.mesh"
+
+ DefaultMaterial {
+ id: wall_material
+ diffuseColor: "#ff7f85a3"
+ }
+ materials: [
+ wall_material
+ ]
+ }
+}
+
+
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/_icons/High_libicon b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/_icons/High_libicon
new file mode 100644
index 0000000000..ea27685b17
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/_icons/High_libicon
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/_icons/High_libicon@2x b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/_icons/High_libicon@2x
new file mode 100644
index 0000000000..9784137e52
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/_icons/High_libicon@2x
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftDoor1.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftDoor1.mesh
new file mode 100644
index 0000000000..c9e8d486a7
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftDoor1.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftDoor2.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftDoor2.mesh
new file mode 100644
index 0000000000..fc6d83cbe7
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftDoor2.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftDoor3.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftDoor3.mesh
new file mode 100644
index 0000000000..5156e246fd
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftDoor3.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftHigh.mesh
new file mode 100644
index 0000000000..645fdcf603
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cabinsLeftHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cornerHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cornerHigh.mesh
new file mode 100644
index 0000000000..0f782e7bfa
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/cornerHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/floor.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/floor.mesh
new file mode 100644
index 0000000000..f48d380795
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/floor.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/fridgeDoor.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/fridgeDoor.mesh
new file mode 100644
index 0000000000..7c4189a843
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/fridgeDoor.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/fridgeHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/fridgeHigh.mesh
new file mode 100644
index 0000000000..b3c73a3c69
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/fridgeHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile.mesh
new file mode 100644
index 0000000000..647b8e3991
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_001.mesh
new file mode 100644
index 0000000000..647b8e3991
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_002.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_002.mesh
new file mode 100644
index 0000000000..148c060304
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_002.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_003.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_003.mesh
new file mode 100644
index 0000000000..647b8e3991
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_003.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_004.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_004.mesh
new file mode 100644
index 0000000000..148c060304
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_004.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_005.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_005.mesh
new file mode 100644
index 0000000000..148c060304
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/kitchenTile_005.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/ovenHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/ovenHigh.mesh
new file mode 100644
index 0000000000..bb8c7b88bd
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/ovenHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/ovenLatch.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/ovenLatch.mesh
new file mode 100644
index 0000000000..082ade5fbf
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/ovenLatch.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/plateHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/plateHigh.mesh
new file mode 100644
index 0000000000..cd86918f95
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/plateHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/plateHigh_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/plateHigh_001.mesh
new file mode 100644
index 0000000000..cd86918f95
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/plateHigh_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/plateHigh_002.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/plateHigh_002.mesh
new file mode 100644
index 0000000000..cd86918f95
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/plateHigh_002.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/roofHighpoly.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/roofHighpoly.mesh
new file mode 100644
index 0000000000..cb4d6ed03f
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/roofHighpoly.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/roofLightHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/roofLightHigh.mesh
new file mode 100644
index 0000000000..b042220fd3
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/roofLightHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/roomBaseHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/roomBaseHigh.mesh
new file mode 100644
index 0000000000..19010a09f9
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/roomBaseHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/sinkCabinHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/sinkCabinHigh.mesh
new file mode 100644
index 0000000000..a58064615f
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/sinkCabinHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/sinkCabinHigh_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/sinkCabinHigh_001.mesh
new file mode 100644
index 0000000000..0c42805f42
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/sinkCabinHigh_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/sinkCabinHigh_002.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/sinkCabinHigh_002.mesh
new file mode 100644
index 0000000000..f758f4adb1
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/sinkCabinHigh_002.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/tapHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/tapHigh.mesh
new file mode 100644
index 0000000000..1a51a3172a
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/meshes/tapHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/qmldir b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/qmldir
new file mode 100644
index 0000000000..b9688ad9ff
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/High/qmldir
@@ -0,0 +1,2 @@
+module Quick3DAssets.High
+High 1.0 High.qml
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/Low.hints b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/Low.hints
new file mode 100644
index 0000000000..5ef26ba572
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/Low.hints
@@ -0,0 +1,3 @@
+visibleInNavigator: true
+canBeDroppedInFormEditor: false
+canBeDroppedInView3D: true
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/Low.qml b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/Low.qml
new file mode 100644
index 0000000000..490ff86771
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/Low.qml
@@ -0,0 +1,298 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick3D 1.15
+
+Node {
+ id: rootNode
+
+ Model {
+ id: ovenLow
+ x: -600
+ z: -300
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/ovenLow.mesh"
+
+ DefaultMaterial {
+ id: oven_material
+ diffuseColor: "#ffa3a3a3"
+ }
+
+ DefaultMaterial {
+ id: induction_material
+ diffuseColor: "#ff040404"
+ }
+ materials: [
+ oven_material,
+ induction_material
+ ]
+ }
+
+ Model {
+ id: tapLow
+ x: -679.799
+ y: 420
+ z: 100
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/tapLow.mesh"
+ materials: [
+ oven_material
+ ]
+ }
+
+ Model {
+ id: plateLow_002
+ y: 424.176
+ z: 600
+ eulerRotation.x: -90
+ eulerRotation.y: -19.7049
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/plateLow_002.mesh"
+
+ DefaultMaterial {
+ id: plate_material
+ diffuseColor: "#ff8fa365"
+ }
+ materials: [
+ plate_material
+ ]
+ }
+
+ Model {
+ id: plateLow_001
+ x: -200
+ y: 417.734
+ z: 600
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/plateLow_001.mesh"
+ materials: [
+ plate_material
+ ]
+ }
+
+ Model {
+ id: plateLow
+ y: 417.734
+ z: 600
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/plateLow.mesh"
+ materials: [
+ plate_material
+ ]
+ }
+
+ Model {
+ id: fridgeLow
+ x: 300
+ y: 0.82016
+ z: 600
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/fridgeLow.mesh"
+ materials: [
+ oven_material
+ ]
+ }
+
+ Model {
+ id: roofLightLow
+ x: -0.000179373
+ y: 1200.82
+ z: -1.67638e-06
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/roofLightLow.mesh"
+
+ DefaultMaterial {
+ id: lamp_material
+ diffuseColor: "#ff0c0c0c"
+ }
+ materials: [
+ lamp_material
+ ]
+ }
+
+ Model {
+ id: kitchenTilesLow
+ x: 200
+ y: 430
+ z: 700
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/kitchenTilesLow.mesh"
+
+ DefaultMaterial {
+ id: tiles_material
+ diffuseColor: "#ffcccccc"
+ }
+ materials: [
+ tiles_material
+ ]
+ }
+
+ Model {
+ id: sinkCabinLow
+ x: -600
+ z: 300
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/sinkCabinLow.mesh"
+
+ DefaultMaterial {
+ id: sink_material
+ diffuseColor: "#ff2d2d2d"
+ }
+
+ DefaultMaterial {
+ id: cabinDoor_material
+ diffuseColor: "#ff505050"
+ }
+ materials: [
+ sink_material,
+ oven_material,
+ cabinDoor_material
+ ]
+ }
+
+ Model {
+ id: corner
+ x: -600
+ z: 600
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/corner.mesh"
+
+ DefaultMaterial {
+ id: cabinTop_material
+ diffuseColor: "#ff121212"
+ }
+ materials: [
+ cabinTop_material,
+ oven_material
+ ]
+ }
+
+ Model {
+ id: roomBaseLow
+ eulerRotation.x: -90
+ scale.x: 800
+ scale.y: 800
+ scale.z: 800
+ source: "meshes/roomBaseLow.mesh"
+
+ DefaultMaterial {
+ id: floor_material
+ diffuseColor: "#ff353b2a"
+ }
+
+ DefaultMaterial {
+ id: wall_material
+ diffuseColor: "#ff7f85a3"
+ }
+
+ DefaultMaterial {
+ id: roof_material
+ diffuseColor: "#ff747474"
+ }
+ materials: [
+ floor_material,
+ wall_material,
+ roof_material
+ ]
+ }
+
+ Model {
+ id: cabinsLeftLow
+ x: -100
+ y: 238.4
+ z: 553.885
+ eulerRotation.x: -90
+ scale.x: 100
+ scale.y: 100
+ scale.z: 100
+ source: "meshes/cabinsLeftLow.mesh"
+ materials: [
+ oven_material,
+ cabinDoor_material,
+ cabinTop_material
+ ]
+ }
+}
+
+/*##^##
+Designer {
+ D{i:0;active3dScene:0}
+}
+##^##*/
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/_icons/Low_libicon b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/_icons/Low_libicon
new file mode 100644
index 0000000000..1b53595e1c
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/_icons/Low_libicon
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/_icons/Low_libicon@2x b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/_icons/Low_libicon@2x
new file mode 100644
index 0000000000..4308c143db
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/_icons/Low_libicon@2x
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/cabinsLeftLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/cabinsLeftLow.mesh
new file mode 100644
index 0000000000..b4668cbbd7
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/cabinsLeftLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/corner.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/corner.mesh
new file mode 100644
index 0000000000..0f782e7bfa
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/corner.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/fridgeLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/fridgeLow.mesh
new file mode 100644
index 0000000000..5ebdcea0cd
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/fridgeLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/kitchenTilesLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/kitchenTilesLow.mesh
new file mode 100644
index 0000000000..77ec3598b1
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/kitchenTilesLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/ovenLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/ovenLow.mesh
new file mode 100644
index 0000000000..435b620459
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/ovenLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/plateLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/plateLow.mesh
new file mode 100644
index 0000000000..cd86918f95
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/plateLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/plateLow_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/plateLow_001.mesh
new file mode 100644
index 0000000000..cd86918f95
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/plateLow_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/plateLow_002.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/plateLow_002.mesh
new file mode 100644
index 0000000000..cd86918f95
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/plateLow_002.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/roofLightLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/roofLightLow.mesh
new file mode 100644
index 0000000000..b042220fd3
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/roofLightLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/roomBaseLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/roomBaseLow.mesh
new file mode 100644
index 0000000000..30f0f34666
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/roomBaseLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/sinkCabinLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/sinkCabinLow.mesh
new file mode 100644
index 0000000000..044b7ffa9b
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/sinkCabinLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/tapLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/tapLow.mesh
new file mode 100644
index 0000000000..1a51a3172a
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/meshes/tapLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/qmldir b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/qmldir
new file mode 100644
index 0000000000..21084cef99
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Low/qmldir
@@ -0,0 +1,2 @@
+module Quick3DAssets.Low
+Low 1.0 Low.qml
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/Merged.hints b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/Merged.hints
new file mode 100644
index 0000000000..5ef26ba572
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/Merged.hints
@@ -0,0 +1,3 @@
+visibleInNavigator: true
+canBeDroppedInFormEditor: false
+canBeDroppedInView3D: true
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/Merged.qml b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/Merged.qml
new file mode 100644
index 0000000000..e04bbcabcc
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/Merged.qml
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick3D 1.15
+
+Node {
+ id: rootNode
+
+ Model {
+ id: roomBaseLow_002
+ eulerRotation.x: -90
+ scale.x: 800
+ scale.y: 800
+ scale.z: 800
+ source: "meshes/roomBaseLow_002.mesh"
+
+ DefaultMaterial {
+ id: colormap_material
+ diffuseMap: element
+ diffuseColor: "#ffffff"
+
+ Texture {
+ id: element
+ source: "colormap.png"
+ }
+ }
+ materials: [
+ colormap_material
+ ]
+ }
+}
+
+/*##^##
+Designer {
+ D{i:0;active3dScene:0}
+}
+##^##*/
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/_icons/Merged_libicon b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/_icons/Merged_libicon
new file mode 100644
index 0000000000..7d317c158d
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/_icons/Merged_libicon
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/_icons/Merged_libicon@2x b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/_icons/Merged_libicon@2x
new file mode 100644
index 0000000000..af24fb8c4c
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/_icons/Merged_libicon@2x
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/colormap.png b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/colormap.png
new file mode 100644
index 0000000000..36e2dfa030
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/colormap.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/meshes/roomBaseLow_002.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/meshes/roomBaseLow_002.mesh
new file mode 100644
index 0000000000..53b8ef5013
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/meshes/roomBaseLow_002.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/qmldir b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/qmldir
new file mode 100644
index 0000000000..7ff4912e2a
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/Merged/qmldir
@@ -0,0 +1,2 @@
+module Quick3DAssets.Merged
+Merged 1.0 Merged.qml
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/VertexColor.hints b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/VertexColor.hints
new file mode 100644
index 0000000000..5ef26ba572
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/VertexColor.hints
@@ -0,0 +1,3 @@
+visibleInNavigator: true
+canBeDroppedInFormEditor: false
+canBeDroppedInView3D: true
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/VertexColor.qml b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/VertexColor.qml
new file mode 100644
index 0000000000..0fb5e9f43c
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/VertexColor.qml
@@ -0,0 +1,88 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick3D 1.15
+
+Node {
+ id: rootNode
+
+ Model {
+ id: roomBaseLow_005
+ eulerRotation.x: -90
+ scale.x: 800
+ scale.y: 800
+ scale.z: 800
+ source: "meshes/roomBaseLow_005.mesh"
+
+ DefaultMaterial {
+ id: vert_material
+ diffuseColor: "#ffa3a3a3"
+ }
+ materials: [
+ vert_material
+ ]
+ }
+
+ PointLight {
+ id: point
+ x: 2355.4
+ y: -1009.92
+ z: 2002.04
+ eulerRotation.x: 90
+ quadraticFade: 3.2e-07
+ }
+}
+
+/*##^##
+Designer {
+ D{i:0;active3dScene:0}
+}
+##^##*/
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/_icons/VertexColor_libicon b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/_icons/VertexColor_libicon
new file mode 100644
index 0000000000..b9fc78a56a
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/_icons/VertexColor_libicon
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/_icons/VertexColor_libicon@2x b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/_icons/VertexColor_libicon@2x
new file mode 100644
index 0000000000..83412652f0
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/_icons/VertexColor_libicon@2x
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftDoor1.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftDoor1.mesh
new file mode 100644
index 0000000000..c9e8d486a7
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftDoor1.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftDoor2.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftDoor2.mesh
new file mode 100644
index 0000000000..fc6d83cbe7
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftDoor2.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftDoor3.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftDoor3.mesh
new file mode 100644
index 0000000000..5156e246fd
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftDoor3.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftHigh.mesh
new file mode 100644
index 0000000000..9a080baf58
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftLow.mesh
new file mode 100644
index 0000000000..c67fa8430c
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftLow_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftLow_001.mesh
new file mode 100644
index 0000000000..48bdbb8dfb
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cabinsLeftLow_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/corner.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/corner.mesh
new file mode 100644
index 0000000000..262aa4ecdd
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/corner.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cornerHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cornerHigh.mesh
new file mode 100644
index 0000000000..262aa4ecdd
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/cornerHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/corner_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/corner_001.mesh
new file mode 100644
index 0000000000..aa2d1282a3
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/corner_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/floor.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/floor.mesh
new file mode 100644
index 0000000000..f48d380795
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/floor.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/fridgeDoor.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/fridgeDoor.mesh
new file mode 100644
index 0000000000..fda023fb46
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/fridgeDoor.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/fridgeHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/fridgeHigh.mesh
new file mode 100644
index 0000000000..e339009823
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/fridgeHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/fridgeLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/fridgeLow.mesh
new file mode 100644
index 0000000000..4a9b8bd244
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/fridgeLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile.mesh
new file mode 100644
index 0000000000..647b8e3991
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_001.mesh
new file mode 100644
index 0000000000..647b8e3991
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_002.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_002.mesh
new file mode 100644
index 0000000000..148c060304
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_002.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_003.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_003.mesh
new file mode 100644
index 0000000000..647b8e3991
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_003.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_004.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_004.mesh
new file mode 100644
index 0000000000..148c060304
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_004.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_005.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_005.mesh
new file mode 100644
index 0000000000..148c060304
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTile_005.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTilesLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTilesLow.mesh
new file mode 100644
index 0000000000..77ec3598b1
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTilesLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTilesLow_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTilesLow_001.mesh
new file mode 100644
index 0000000000..bb3d77aacf
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/kitchenTilesLow_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/ovenHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/ovenHigh.mesh
new file mode 100644
index 0000000000..0ba53eb4cc
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/ovenHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/ovenLatch.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/ovenLatch.mesh
new file mode 100644
index 0000000000..cd031deee3
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/ovenLatch.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/ovenLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/ovenLow.mesh
new file mode 100644
index 0000000000..d02493ee15
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/ovenLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateHigh.mesh
new file mode 100644
index 0000000000..cd86918f95
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateHigh_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateHigh_001.mesh
new file mode 100644
index 0000000000..cd86918f95
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateHigh_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateHigh_002.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateHigh_002.mesh
new file mode 100644
index 0000000000..cd86918f95
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateHigh_002.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateLow.mesh
new file mode 100644
index 0000000000..cd86918f95
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateLow_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateLow_001.mesh
new file mode 100644
index 0000000000..cd86918f95
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateLow_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateLow_002.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateLow_002.mesh
new file mode 100644
index 0000000000..cd86918f95
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/plateLow_002.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofHighpoly.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofHighpoly.mesh
new file mode 100644
index 0000000000..cb4d6ed03f
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofHighpoly.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLightHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLightHigh.mesh
new file mode 100644
index 0000000000..b042220fd3
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLightHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLightLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLightLow.mesh
new file mode 100644
index 0000000000..b042220fd3
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLightLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLightLow_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLightLow_001.mesh
new file mode 100644
index 0000000000..e082455411
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLightLow_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLowpoly_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLowpoly_001.mesh
new file mode 100644
index 0000000000..40788622ce
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roofLowpoly_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseHigh.mesh
new file mode 100644
index 0000000000..19010a09f9
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow.mesh
new file mode 100644
index 0000000000..30f0f34666
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_001.mesh
new file mode 100644
index 0000000000..de2a30079d
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_002.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_002.mesh
new file mode 100644
index 0000000000..e75d4393be
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_002.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_003.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_003.mesh
new file mode 100644
index 0000000000..16cf8c0783
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_003.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_004.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_004.mesh
new file mode 100644
index 0000000000..fd251a9d8a
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_004.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_005.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_005.mesh
new file mode 100644
index 0000000000..a2d23086d2
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/roomBaseLow_005.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinHigh.mesh
new file mode 100644
index 0000000000..3ddac46219
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinHigh_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinHigh_001.mesh
new file mode 100644
index 0000000000..0c42805f42
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinHigh_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinHigh_002.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinHigh_002.mesh
new file mode 100644
index 0000000000..f758f4adb1
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinHigh_002.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinLow.mesh
new file mode 100644
index 0000000000..160b6cb430
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinLow_001.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinLow_001.mesh
new file mode 100644
index 0000000000..d7a3b2b006
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/sinkCabinLow_001.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/tapHigh.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/tapHigh.mesh
new file mode 100644
index 0000000000..842b2db528
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/tapHigh.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/tapLow.mesh b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/tapLow.mesh
new file mode 100644
index 0000000000..842b2db528
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/meshes/tapLow.mesh
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/qmldir b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/qmldir
new file mode 100644
index 0000000000..0a8149ee63
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/asset_imports/Quick3DAssets/VertexColor/qmldir
@@ -0,0 +1,2 @@
+module Quick3DAssets.VertexColor
+VertexColor 1.0 VertexColor.qml
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/colormap.png b/doc/qtdesignstudio/examples/Optimal3DScene/colormap.png
new file mode 100644
index 0000000000..a9bbfb0acd
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/colormap.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/fonts/fonts.txt b/doc/qtdesignstudio/examples/Optimal3DScene/fonts/fonts.txt
new file mode 100644
index 0000000000..ab96122067
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/fonts/fonts.txt
@@ -0,0 +1 @@
+Fonts in this folder are loaded automatically.
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/Constants.qml b/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/Constants.qml
new file mode 100644
index 0000000000..6ac954c99d
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/Constants.qml
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+pragma Singleton
+import QtQuick 2.10
+
+QtObject {
+ readonly property int width: 1280
+ readonly property int height: 720
+
+ readonly property FontLoader mySystemFont: FontLoader { name: "Arial" }
+
+ property alias fontDirectory: directoryFontLoader.fontDirectory
+ property alias relativeFontDirectory: directoryFontLoader.relativeFontDirectory
+
+ /* Edit this comment to add your custom font */
+ readonly property font font: Qt.font({
+ family: mySystemFont.name,
+ pixelSize: Qt.application.font.pixelSize
+ })
+ readonly property font largeFont: Qt.font({
+ family: mySystemFont.name,
+ pixelSize: Qt.application.font.pixelSize * 1.6
+ })
+ readonly property color backgroundColor: "#c2c2c2"
+
+ property DirectoryFontLoader directoryFontLoader: DirectoryFontLoader {
+ id: directoryFontLoader
+ }
+}
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/DirectoryFontLoader.qml b/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/DirectoryFontLoader.qml
new file mode 100644
index 0000000000..5827dea096
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/DirectoryFontLoader.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Designer Components.
+**
+** $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.12
+import Qt.labs.folderlistmodel 2.12
+
+QtObject {
+ id: loader
+
+ property url fontDirectory: Qt.resolvedUrl("../../" + relativeFontDirectory)
+ property string relativeFontDirectory: "fonts"
+
+ function loadFont(url) {
+ var fontLoader = Qt.createQmlObject('import QtQuick 2.12; FontLoader { source: "' + url + '"; }',
+ loader,
+ "dynamicFontLoader");
+ }
+
+ property FolderListModel folderModel: FolderListModel {
+ id: folderModel
+ folder: loader.fontDirectory
+ nameFilters: [ "*.ttf", "*.otf" ]
+ showDirs: false
+
+ onStatusChanged: {
+ if (folderModel.status == FolderListModel.Ready) {
+ var i
+ for (i = 0; i < count; i++) {
+ loadFont(folderModel.get(i, "fileURL"))
+ }
+ }
+ }
+ }
+}
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/qmldir b/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/qmldir
new file mode 100644
index 0000000000..6984623730
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/imports/Optimal3DScene/qmldir
@@ -0,0 +1,2 @@
+singleton Constants 1.0 Constants.qml
+EventListSimulator 1.0 EventListSimulator.qml
diff --git a/doc/qtdesignstudio/examples/Optimal3DScene/qtquickcontrols2.conf b/doc/qtdesignstudio/examples/Optimal3DScene/qtquickcontrols2.conf
new file mode 100644
index 0000000000..75b2cb8fff
--- /dev/null
+++ b/doc/qtdesignstudio/examples/Optimal3DScene/qtquickcontrols2.conf
@@ -0,0 +1,6 @@
+; This file can be edited to change the style of the application
+; Read "Qt Quick Controls 2 Configuration File" for details:
+; http://doc.qt.io/qt-5/qtquickcontrols2-configuration.html
+
+[Controls]
+Style=Default
diff --git a/doc/qtdesignstudio/examples/doc/Optimal3DScene.qdoc b/doc/qtdesignstudio/examples/doc/Optimal3DScene.qdoc
new file mode 100644
index 0000000000..483128f07e
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/Optimal3DScene.qdoc
@@ -0,0 +1,37 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Design Studio documentation.
+**
+** 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 Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+**
+****************************************************************************/
+
+/*!
+ \example Optimal3DScene
+ \ingroup studioexamples
+ \brief Contains project files for the Optimal 3D Scene.
+
+ \title Optimal 3D Scene
+ \image studio-kitchen-combined.png
+
+ The \e {Optimal 3D Scene} example contains the source files for the Optimal
+ 3D Scene described in \l {Creating Optimized 3D Scenes}.
+
+*/