summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAntti Määttä <antti.maatta@qt.io>2019-02-26 10:12:14 +0200
committerAntti Määttä <antti.maatta@qt.io>2019-03-12 12:11:13 +0000
commitbaf98fd6f90d85328b2998f38ec6dcc0139fe58f (patch)
tree4dcafd95591e82065bc1a5ef55a1b354d73e924a /tests
parentdb433e6b7b543a54865c770fd4ca15160e44b2c7 (diff)
Add manual test for dynamic slide resource loading
Change-Id: If546d18a2dc0bc2f60c5f703b108c081ef8e89b0 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/manual/dynamicloadingapp/dynamicloading/dynamicloading.uia15
-rw-r--r--tests/manual/dynamicloadingapp/dynamicloading/maps/Abstract_001_COLOR.jpgbin0 -> 56180 bytes
-rw-r--r--tests/manual/dynamicloadingapp/dynamicloading/maps/Blue_Marble_002_COLOR.jpgbin0 -> 77199 bytes
-rw-r--r--tests/manual/dynamicloadingapp/dynamicloading/maps/Ice_002_COLOR.jpgbin0 -> 21439 bytes
-rw-r--r--tests/manual/dynamicloadingapp/dynamicloading/maps/Moon_001_COLOR.jpgbin0 -> 13648 bytes
-rw-r--r--tests/manual/dynamicloadingapp/dynamicloading/materials/Material.materialdef44
-rw-r--r--tests/manual/dynamicloadingapp/dynamicloading/materials/Material2.materialdef44
-rw-r--r--tests/manual/dynamicloadingapp/dynamicloading/materials/Material3.materialdef44
-rw-r--r--tests/manual/dynamicloadingapp/dynamicloading/materials/Material4.materialdef44
-rw-r--r--tests/manual/dynamicloadingapp/dynamicloading/presentations/dynamicloading.uip86
-rw-r--r--tests/manual/dynamicloadingapp/dynamicloadingapp.pro29
-rw-r--r--tests/manual/dynamicloadingapp/main.cpp69
-rw-r--r--tests/manual/dynamicloadingapp/main.qml98
-rw-r--r--tests/manual/dynamicloadingapp/qml.qrc16
-rw-r--r--tests/manual/manual.pro3
15 files changed, 491 insertions, 1 deletions
diff --git a/tests/manual/dynamicloadingapp/dynamicloading/dynamicloading.uia b/tests/manual/dynamicloadingapp/dynamicloading/dynamicloading.uia
new file mode 100644
index 0000000..67a2a18
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/dynamicloading/dynamicloading.uia
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='utf-8'?>
+<application xmlns="http://qt.io/qt3dstudio/uia">
+ <assets initial="dynamicloading">
+ <presentation id="dynamicloading" src="presentations/dynamicloading.uip"/>
+ </assets>
+ <statemachine ref="#logic">
+ <visual-states>
+ <state ref="Initial">
+ <enter>
+ <goto-slide rel="next" element="main:Scene"/>
+ </enter>
+ </state>
+ </visual-states>
+ </statemachine>
+</application>
diff --git a/tests/manual/dynamicloadingapp/dynamicloading/maps/Abstract_001_COLOR.jpg b/tests/manual/dynamicloadingapp/dynamicloading/maps/Abstract_001_COLOR.jpg
new file mode 100644
index 0000000..7fa51e6
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/dynamicloading/maps/Abstract_001_COLOR.jpg
Binary files differ
diff --git a/tests/manual/dynamicloadingapp/dynamicloading/maps/Blue_Marble_002_COLOR.jpg b/tests/manual/dynamicloadingapp/dynamicloading/maps/Blue_Marble_002_COLOR.jpg
new file mode 100644
index 0000000..bd84795
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/dynamicloading/maps/Blue_Marble_002_COLOR.jpg
Binary files differ
diff --git a/tests/manual/dynamicloadingapp/dynamicloading/maps/Ice_002_COLOR.jpg b/tests/manual/dynamicloadingapp/dynamicloading/maps/Ice_002_COLOR.jpg
new file mode 100644
index 0000000..d3d3106
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/dynamicloading/maps/Ice_002_COLOR.jpg
Binary files differ
diff --git a/tests/manual/dynamicloadingapp/dynamicloading/maps/Moon_001_COLOR.jpg b/tests/manual/dynamicloadingapp/dynamicloading/maps/Moon_001_COLOR.jpg
new file mode 100644
index 0000000..9ddd871
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/dynamicloading/maps/Moon_001_COLOR.jpg
Binary files differ
diff --git a/tests/manual/dynamicloadingapp/dynamicloading/materials/Material.materialdef b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material.materialdef
new file mode 100644
index 0000000..9c312b5
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material.materialdef
@@ -0,0 +1,44 @@
+<MaterialData version="1.0">
+ <Property name="shaderlighting">Pixel</Property>
+ <Property name="blendmode">Normal</Property>
+ <Property name="diffuse">1 1 1</Property>
+ <Property name="diffusemap"><![CDATA[./maps/Abstract_001_COLOR.jpg]]></Property>
+ <Property name="specularamount">0</Property>
+ <Property name="specularroughness">0</Property>
+ <Property name="opacity">100</Property>
+ <Property name="emissivecolor">1 1 1</Property>
+ <Property name="emissivepower">0</Property>
+ <Property name="bumpamount">0.5</Property>
+ <Property name="displaceamount">20</Property>
+ <Property name="translucentfalloff">1</Property>
+ <Property name="diffuselightwrap">0</Property>
+ <Property name="specularmodel">Default</Property>
+ <Property name="speculartint">1 1 1</Property>
+ <Property name="ior">1.5</Property>
+ <Property name="fresnelPower">0</Property>
+ <Property name="vertexcolors">False</Property>
+ <Property name="sourcepath"></Property>
+ <Property name="importid"></Property>
+ <Property name="importfile"></Property>
+ <Property name="type">Material</Property>
+ <Property name="name"><![CDATA[materials/Material]]></Property>
+ <Property name="path"><![CDATA[C:/dev/dynamicloadingapp/dynamicloading/materials/Material.materialdef]]></Property>
+ <TextureData name="diffusemap">
+ <Property name="scaleu">1</Property>
+ <Property name="scalev">1</Property>
+ <Property name="mappingmode">UV Mapping</Property>
+ <Property name="tilingmodehorz">No Tiling</Property>
+ <Property name="tilingmodevert">No Tiling</Property>
+ <Property name="rotationuv">0</Property>
+ <Property name="positionu">0</Property>
+ <Property name="positionv">0</Property>
+ <Property name="pivotu">0</Property>
+ <Property name="pivotv">0</Property>
+ <Property name="subpresentation"></Property>
+ <Property name="sourcepath"><![CDATA[./maps/Abstract_001_COLOR.jpg]]></Property>
+ <Property name="importid"></Property>
+ <Property name="importfile"></Property>
+ <Property name="type">Image</Property>
+ <Property name="name"><![CDATA[Image]]></Property>
+ </TextureData>
+</MaterialData> \ No newline at end of file
diff --git a/tests/manual/dynamicloadingapp/dynamicloading/materials/Material2.materialdef b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material2.materialdef
new file mode 100644
index 0000000..1e46acf
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material2.materialdef
@@ -0,0 +1,44 @@
+<MaterialData version="1.0">
+ <Property name="shaderlighting">Pixel</Property>
+ <Property name="blendmode">Normal</Property>
+ <Property name="diffuse">1 1 1</Property>
+ <Property name="diffusemap"><![CDATA[./maps/Blue_Marble_002_COLOR.jpg]]></Property>
+ <Property name="specularamount">0</Property>
+ <Property name="specularroughness">0</Property>
+ <Property name="opacity">100</Property>
+ <Property name="emissivecolor">1 1 1</Property>
+ <Property name="emissivepower">0</Property>
+ <Property name="bumpamount">0.5</Property>
+ <Property name="displaceamount">20</Property>
+ <Property name="translucentfalloff">1</Property>
+ <Property name="diffuselightwrap">0</Property>
+ <Property name="specularmodel">Default</Property>
+ <Property name="speculartint">1 1 1</Property>
+ <Property name="ior">1.5</Property>
+ <Property name="fresnelPower">0</Property>
+ <Property name="vertexcolors">False</Property>
+ <Property name="sourcepath"></Property>
+ <Property name="importid"></Property>
+ <Property name="importfile"></Property>
+ <Property name="type">Material</Property>
+ <Property name="name"><![CDATA[materials/Material2]]></Property>
+ <Property name="path"><![CDATA[C:/dev/dynamicloadingapp/dynamicloading/materials/Material2.materialdef]]></Property>
+ <TextureData name="diffusemap">
+ <Property name="scaleu">1</Property>
+ <Property name="scalev">1</Property>
+ <Property name="mappingmode">UV Mapping</Property>
+ <Property name="tilingmodehorz">No Tiling</Property>
+ <Property name="tilingmodevert">No Tiling</Property>
+ <Property name="rotationuv">0</Property>
+ <Property name="positionu">0</Property>
+ <Property name="positionv">0</Property>
+ <Property name="pivotu">0</Property>
+ <Property name="pivotv">0</Property>
+ <Property name="subpresentation"></Property>
+ <Property name="sourcepath"><![CDATA[./maps/Blue_Marble_002_COLOR.jpg]]></Property>
+ <Property name="importid"></Property>
+ <Property name="importfile"></Property>
+ <Property name="type">Image</Property>
+ <Property name="name"><![CDATA[Image]]></Property>
+ </TextureData>
+</MaterialData> \ No newline at end of file
diff --git a/tests/manual/dynamicloadingapp/dynamicloading/materials/Material3.materialdef b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material3.materialdef
new file mode 100644
index 0000000..93e8ef9
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material3.materialdef
@@ -0,0 +1,44 @@
+<MaterialData version="1.0">
+ <Property name="shaderlighting">Pixel</Property>
+ <Property name="blendmode">Normal</Property>
+ <Property name="diffuse">1 1 1</Property>
+ <Property name="diffusemap"><![CDATA[./maps/Ice_002_COLOR.jpg]]></Property>
+ <Property name="specularamount">0</Property>
+ <Property name="specularroughness">0</Property>
+ <Property name="opacity">100</Property>
+ <Property name="emissivecolor">1 1 1</Property>
+ <Property name="emissivepower">0</Property>
+ <Property name="bumpamount">0.5</Property>
+ <Property name="displaceamount">20</Property>
+ <Property name="translucentfalloff">1</Property>
+ <Property name="diffuselightwrap">0</Property>
+ <Property name="specularmodel">Default</Property>
+ <Property name="speculartint">1 1 1</Property>
+ <Property name="ior">1.5</Property>
+ <Property name="fresnelPower">0</Property>
+ <Property name="vertexcolors">False</Property>
+ <Property name="sourcepath"></Property>
+ <Property name="importid"></Property>
+ <Property name="importfile"></Property>
+ <Property name="type">Material</Property>
+ <Property name="name"><![CDATA[materials/Material3]]></Property>
+ <Property name="path"><![CDATA[C:/dev/dynamicloadingapp/dynamicloading/materials/Material3.materialdef]]></Property>
+ <TextureData name="diffusemap">
+ <Property name="scaleu">1</Property>
+ <Property name="scalev">1</Property>
+ <Property name="mappingmode">UV Mapping</Property>
+ <Property name="tilingmodehorz">No Tiling</Property>
+ <Property name="tilingmodevert">No Tiling</Property>
+ <Property name="rotationuv">0</Property>
+ <Property name="positionu">0</Property>
+ <Property name="positionv">0</Property>
+ <Property name="pivotu">0</Property>
+ <Property name="pivotv">0</Property>
+ <Property name="subpresentation"></Property>
+ <Property name="sourcepath"><![CDATA[./maps/Ice_002_COLOR.jpg]]></Property>
+ <Property name="importid"></Property>
+ <Property name="importfile"></Property>
+ <Property name="type">Image</Property>
+ <Property name="name"><![CDATA[Image]]></Property>
+ </TextureData>
+</MaterialData> \ No newline at end of file
diff --git a/tests/manual/dynamicloadingapp/dynamicloading/materials/Material4.materialdef b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material4.materialdef
new file mode 100644
index 0000000..be318da
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material4.materialdef
@@ -0,0 +1,44 @@
+<MaterialData version="1.0">
+ <Property name="shaderlighting">Pixel</Property>
+ <Property name="blendmode">Normal</Property>
+ <Property name="diffuse">1 1 1</Property>
+ <Property name="diffusemap"><![CDATA[./maps/Moon_001_COLOR.jpg]]></Property>
+ <Property name="specularamount">0</Property>
+ <Property name="specularroughness">0</Property>
+ <Property name="opacity">100</Property>
+ <Property name="emissivecolor">1 1 1</Property>
+ <Property name="emissivepower">0</Property>
+ <Property name="bumpamount">0.5</Property>
+ <Property name="displaceamount">20</Property>
+ <Property name="translucentfalloff">1</Property>
+ <Property name="diffuselightwrap">0</Property>
+ <Property name="specularmodel">Default</Property>
+ <Property name="speculartint">1 1 1</Property>
+ <Property name="ior">1.5</Property>
+ <Property name="fresnelPower">0</Property>
+ <Property name="vertexcolors">False</Property>
+ <Property name="sourcepath"></Property>
+ <Property name="importid"></Property>
+ <Property name="importfile"></Property>
+ <Property name="type">Material</Property>
+ <Property name="name"><![CDATA[materials/Material4]]></Property>
+ <Property name="path"><![CDATA[C:/dev/dynamicloadingapp/dynamicloading/materials/Material4.materialdef]]></Property>
+ <TextureData name="diffusemap">
+ <Property name="scaleu">1</Property>
+ <Property name="scalev">1</Property>
+ <Property name="mappingmode">UV Mapping</Property>
+ <Property name="tilingmodehorz">No Tiling</Property>
+ <Property name="tilingmodevert">No Tiling</Property>
+ <Property name="rotationuv">0</Property>
+ <Property name="positionu">0</Property>
+ <Property name="positionv">0</Property>
+ <Property name="pivotu">0</Property>
+ <Property name="pivotv">0</Property>
+ <Property name="subpresentation"></Property>
+ <Property name="sourcepath"><![CDATA[./maps/Moon_001_COLOR.jpg]]></Property>
+ <Property name="importid"></Property>
+ <Property name="importfile"></Property>
+ <Property name="type">Image</Property>
+ <Property name="name"><![CDATA[Image]]></Property>
+ </TextureData>
+</MaterialData> \ No newline at end of file
diff --git a/tests/manual/dynamicloadingapp/dynamicloading/presentations/dynamicloading.uip b/tests/manual/dynamicloadingapp/dynamicloading/presentations/dynamicloading.uip
new file mode 100644
index 0000000..1f9e93b
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/dynamicloading/presentations/dynamicloading.uip
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<UIP version="5" >
+ <Project >
+ <ProjectSettings author="" company="" presentationWidth="800" presentationHeight="600" maintainAspect="False" preferKtx="False" >
+ <CustomColors count="16" >#ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff</CustomColors>
+ </ProjectSettings>
+ <Graph >
+ <Scene id="Scene" >
+ <Layer id="Layer" variants="" >
+ <Camera id="Camera" />
+ <Light id="Light" />
+ <Model id="Rectangle" >
+ <ReferencedMaterial id="Material" name="Default" />
+ </Model>
+ <Model id="Rectangle2" >
+ <ReferencedMaterial id="Material2" name="Default" />
+ </Model>
+ <Model id="Rectangle3" >
+ <ReferencedMaterial id="Material3" name="Default" />
+ </Model>
+ <Model id="Rectangle4" >
+ <ReferencedMaterial id="Material4" name="Default" />
+ </Model>
+ </Layer>
+ <Material id="__Container" >
+ <Material id="materials/Material" >
+ <Image id="materials/Material_diffusemap" />
+ </Material>
+ <Material id="materials/Material2" >
+ <Image id="materials/Material2_diffusemap" />
+ </Material>
+ <Material id="materials/Material3" >
+ <Image id="materials/Material3_diffusemap" />
+ </Material>
+ <Material id="materials/Material4" >
+ <Image id="materials/Material4_diffusemap" />
+ </Material>
+ </Material>
+ </Scene>
+ </Graph>
+ <Logic >
+ <State name="Master Slide" component="#Scene" >
+ <Add ref="#Layer" />
+ <Add ref="#Camera" />
+ <Add ref="#Light" />
+ <Add ref="#__Container" name="__Container" />
+ <Add ref="#materials/Material" name="materials/Material" diffusemap="#materials/Material_diffusemap" importid="" />
+ <Add ref="#materials/Material2" name="materials/Material2" diffusemap="#materials/Material2_diffusemap" importid="" />
+ <Add ref="#materials/Material3" name="materials/Material3" diffusemap="#materials/Material3_diffusemap" importid="" />
+ <Add ref="#materials/Material4" name="materials/Material4" diffusemap="#materials/Material4_diffusemap" importid="" />
+ <State id="Scene-Slide1" name="Slide1" playmode="Play Through To..." >
+ <Set ref="#Layer" endtime="2000" />
+ <Set ref="#Camera" endtime="2000" />
+ <Set ref="#Light" endtime="2000" />
+ <Add ref="#Rectangle" name="Rectangle" endtime="2000" scale="6.11742 5.19718 1" sourcepath="#Rectangle" />
+ <Add ref="#Material" name="Material" endtime="2000" referencedmaterial="#materials/Material" sourcepath="../materials/Material.materialdef" />
+ <Add ref="#materials/Material_diffusemap" importid="" sourcepath="../maps/Abstract_001_COLOR.jpg" subpresentation="" />
+ </State>
+ <State id="Scene-Slide2" name="Slide2" playmode="Play Through To..." playthroughto="Next" >
+ <Set ref="#Layer" endtime="2000" />
+ <Set ref="#Camera" endtime="5000" />
+ <Set ref="#Light" endtime="2000" />
+ <Add ref="#Rectangle2" name="Rectangle2" endtime="2000" scale="6.11742 5.19718 1" sourcepath="#Rectangle" />
+ <Add ref="#Material2" name="Material2" endtime="2000" referencedmaterial="#materials/Material2" sourcepath="../materials/Material2.materialdef" />
+ <Add ref="#materials/Material2_diffusemap" importid="" sourcepath="../maps/Blue_Marble_002_COLOR.jpg" subpresentation="" />
+ </State>
+ <State id="Scene-Slide3" name="Slide3" playmode="Play Through To..." playthroughto="Next" >
+ <Set ref="#Layer" endtime="2000" />
+ <Set ref="#Camera" endtime="2000" />
+ <Set ref="#Light" endtime="2000" />
+ <Add ref="#Rectangle3" name="Rectangle3" endtime="2000" scale="6.11742 5.19718 1" sourcepath="#Rectangle" />
+ <Add ref="#Material3" name="Material3" endtime="2000" referencedmaterial="#materials/Material3" sourcepath="../materials/Material3.materialdef" />
+ <Add ref="#materials/Material3_diffusemap" importid="" sourcepath="../maps/Ice_002_COLOR.jpg" subpresentation="" />
+ </State>
+ <State id="Scene-Slide4" name="Slide4" playmode="Play Through To..." playthroughto="#Scene-Slide1" >
+ <Set ref="#Layer" endtime="2000" />
+ <Set ref="#Camera" endtime="2000" />
+ <Set ref="#Light" endtime="2000" />
+ <Add ref="#Rectangle4" name="Rectangle4" endtime="2000" scale="6.11742 5.19718 1" sourcepath="#Rectangle" />
+ <Add ref="#Material4" name="Material4" endtime="2000" referencedmaterial="#materials/Material4" sourcepath="../materials/Material4.materialdef" />
+ <Add ref="#materials/Material4_diffusemap" importid="" sourcepath="../maps/Moon_001_COLOR.jpg" subpresentation="" />
+ </State>
+ </State>
+ </Logic>
+ </Project>
+</UIP>
diff --git a/tests/manual/dynamicloadingapp/dynamicloadingapp.pro b/tests/manual/dynamicloadingapp/dynamicloadingapp.pro
new file mode 100644
index 0000000..6c114af
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/dynamicloadingapp.pro
@@ -0,0 +1,29 @@
+QT += quick widgets qml 3dstudioruntime2
+CONFIG += c++11
+
+# The following define makes your compiler emit warnings if you use
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Refer to the documentation for the
+# deprecated API to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+ main.cpp
+
+RESOURCES += qml.qrc
+
+# Additional import path used to resolve QML modules in Qt Creator's code model
+QML_IMPORT_PATH =
+
+# Additional import path used to resolve QML modules just for Qt Quick Designer
+QML_DESIGNER_IMPORT_PATH =
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
diff --git a/tests/manual/dynamicloadingapp/main.cpp b/tests/manual/dynamicloadingapp/main.cpp
new file mode 100644
index 0000000..713595f
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/main.cpp
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt 3D Studio.
+**
+** $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$
+**
+****************************************************************************/
+
+#include <QtWidgets/QApplication>
+#include <QtQuick/QQuickView>
+#include <q3dsruntimeglobal.h>
+#include "q3dsdatainput.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ QSurfaceFormat::setDefaultFormat(Q3DS::surfaceFormat());
+ QQuickView viewer;
+ viewer.setSource(QUrl("qrc:/main.qml"));
+
+ viewer.setTitle(QStringLiteral("Qt 3D Studio Example"));
+ viewer.setResizeMode(QQuickView::SizeRootObjectToView);
+ viewer.resize(1280, 720);
+ viewer.show();
+
+ return app.exec();
+}
diff --git a/tests/manual/dynamicloadingapp/main.qml b/tests/manual/dynamicloadingapp/main.qml
new file mode 100644
index 0000000..2c91968
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/main.qml
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt 3D Studio.
+**
+** $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.7
+import QtStudio3D 2.0
+
+Item {
+ id: mainview
+ width: 1280
+ height: 768
+ visible: true
+
+ Studio3D {
+ id: studio3D
+ anchors.fill: parent
+ height: 900
+ width: 1280
+
+ Presentation {
+ property string slide1 : "Slide1"
+ property string slide2 : "Slide2"
+ property string slide3 : "Slide3"
+ property string slide4 : "Slide4"
+ id: presentation
+ profilingEnabled: true
+ source: "qrc:/dynamicloading/dynamicloading.uia"
+
+ onSlideEntered: {
+ var slideName = name
+ var slideIndex = index
+ var slidePath = elementPath
+
+ console.log("Entered: " + name)
+
+ if (slideName === "Slide1")
+ preloadSlide(slide2)
+ else if (slideName === "Slide2")
+ preloadSlide(slide3)
+ else if (slideName === "Slide3")
+ preloadSlide(slide4)
+ else if (slideName === "Slide4")
+ preloadSlide(slide1)
+ }
+
+ onSlideExited: {
+ console.log("Exited: " + name)
+ unloadSlide(name)
+ }
+ }
+ }
+}
diff --git a/tests/manual/dynamicloadingapp/qml.qrc b/tests/manual/dynamicloadingapp/qml.qrc
new file mode 100644
index 0000000..7fc37fa
--- /dev/null
+++ b/tests/manual/dynamicloadingapp/qml.qrc
@@ -0,0 +1,16 @@
+<RCC>
+ <qresource prefix="/">
+ <file>main.qml</file>
+ <file>dynamicloading/maps/Abstract_001_COLOR.jpg</file>
+ <file>dynamicloading/maps/Blue_Marble_002_COLOR.jpg</file>
+ <file>dynamicloading/maps/Ice_002_COLOR.jpg</file>
+ <file>dynamicloading/maps/Moon_001_COLOR.jpg</file>
+ <file>dynamicloading/materials/Material.materialdef</file>
+ <file>dynamicloading/materials/Material2.materialdef</file>
+ <file>dynamicloading/materials/Material3.materialdef</file>
+ <file>dynamicloading/materials/Material4.materialdef</file>
+ <file>dynamicloading/presentations/dynamicloading.uip</file>
+ <file>dynamicloading/dynamicloading.uia</file>
+ <file>main.cpp</file>
+ </qresource>
+</RCC>
diff --git a/tests/manual/manual.pro b/tests/manual/manual.pro
index 234578b..36adbb5 100644
--- a/tests/manual/manual.pro
+++ b/tests/manual/manual.pro
@@ -9,5 +9,6 @@ qtHaveModule(quick) {
SUBDIRS += \
qml3dapi \
pureqml3d \
- manylayersinquick
+ manylayersinquick \
+ dynamicloadingapp
}