summaryrefslogtreecommitdiffstats
path: root/examples/qt3d
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-05-08 14:06:53 +0100
committerMike Krus <mike.krus@kdab.com>2020-05-22 08:53:50 +0100
commit22dd30949938083aceda8267c41c920c61c0d388 (patch)
treea49704414a853624006b860d1a92689bc4f5ca88 /examples/qt3d
parent5596989f92fd36615e203215ef274bff80bb7e31 (diff)
Add support for building with CMake
Change-Id: If6c887c6356a160a5f3fb906d38a341fff0c7b29 Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'examples/qt3d')
-rw-r--r--examples/qt3d/3d-text/CMakeLists.txt34
-rw-r--r--examples/qt3d/CMakeLists.txt35
-rw-r--r--examples/qt3d/advancedcustommaterial/CMakeLists.txt87
-rw-r--r--examples/qt3d/anaglyph-rendering/CMakeLists.txt128
-rw-r--r--examples/qt3d/audio-visualizer-qml/CMakeLists.txt68
-rw-r--r--examples/qt3d/basicshapes-cpp/CMakeLists.txt36
-rw-r--r--examples/qt3d/compute-particles/CMakeLists.txt56
-rw-r--r--examples/qt3d/controls/CMakeLists.txt48
-rw-r--r--examples/qt3d/controlsunderlay/CMakeLists.txt48
-rw-r--r--examples/qt3d/instanced-arrays-qml/CMakeLists.txt54
-rw-r--r--examples/qt3d/lights/CMakeLists.txt199
-rw-r--r--examples/qt3d/multiviewport/CMakeLists.txt69
-rw-r--r--examples/qt3d/pbr-materials/CMakeLists.txt243
-rw-r--r--examples/qt3d/phong-cubes/CMakeLists.txt167
-rw-r--r--examples/qt3d/planets-qml/CMakeLists.txt135
-rw-r--r--examples/qt3d/qardboard/CMakeLists.txt101
-rw-r--r--examples/qt3d/qgltf/CMakeLists.txt52
-rw-r--r--examples/qt3d/scene2d/CMakeLists.txt50
-rw-r--r--examples/qt3d/scene3d/CMakeLists.txt48
-rw-r--r--examples/qt3d/scene3dview/CMakeLists.txt48
-rw-r--r--examples/qt3d/shadow-map-qml/CMakeLists.txt97
-rw-r--r--examples/qt3d/simple-cpp/CMakeLists.txt34
-rw-r--r--examples/qt3d/simple-qml/CMakeLists.txt54
-rw-r--r--examples/qt3d/simplecustommaterial/CMakeLists.txt62
-rw-r--r--examples/qt3d/wave/CMakeLists.txt67
-rw-r--r--examples/qt3d/widgets-scene3d/CMakeLists.txt58
-rw-r--r--examples/qt3d/wireframe/CMakeLists.txt89
27 files changed, 2167 insertions, 0 deletions
diff --git a/examples/qt3d/3d-text/CMakeLists.txt b/examples/qt3d/3d-text/CMakeLists.txt
new file mode 100644
index 000000000..a28de01b8
--- /dev/null
+++ b/examples/qt3d/3d-text/CMakeLists.txt
@@ -0,0 +1,34 @@
+# Generated from 3d-text.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(3d-text LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+add_qt_gui_executable(3d-text
+ main.cpp
+)
+target_link_libraries(3d-text PUBLIC
+ Qt::3DCore
+ Qt::3DExtras
+ Qt::3DInput
+ Qt::3DRender
+ Qt::3DRenderPrivate
+ Qt::Core
+ Qt::Gui
+)
+
+install(TARGETS 3d-text
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/CMakeLists.txt b/examples/qt3d/CMakeLists.txt
new file mode 100644
index 000000000..64f04ce53
--- /dev/null
+++ b/examples/qt3d/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Generated from qt3d.pro.
+
+add_subdirectory(simple-cpp)
+add_subdirectory(3d-text)
+if(TARGET Qt::Widgets)
+ add_subdirectory(basicshapes-cpp)
+endif()
+if(TARGET Qt::QuickWidgets AND TARGET Qt::Widgets)
+ add_subdirectory(widgets-scene3d)
+endif()
+if(TARGET Qt::Quick)
+ add_subdirectory(simple-qml)
+ add_subdirectory(shadow-map-qml)
+ add_subdirectory(instanced-arrays-qml)
+ add_subdirectory(planets-qml)
+ add_subdirectory(advancedcustommaterial)
+ add_subdirectory(anaglyph-rendering)
+ add_subdirectory(compute-particles)
+ add_subdirectory(phong-cubes)
+ add_subdirectory(lights)
+ add_subdirectory(scene3dview)
+ add_subdirectory(controlsunderlay)
+ add_subdirectory(simplecustommaterial)
+ add_subdirectory(qardboard)
+ add_subdirectory(pbr-materials)
+ add_subdirectory(scene2d)
+ add_subdirectory(multiviewport)
+ add_subdirectory(wireframe)
+ add_subdirectory(wave)
+ add_subdirectory(scene3d)
+ add_subdirectory(controls)
+endif()
+if(TARGET Qt::Multimedia AND TARGET Qt::Quick)
+ add_subdirectory(audio-visualizer-qml)
+endif()
diff --git a/examples/qt3d/advancedcustommaterial/CMakeLists.txt b/examples/qt3d/advancedcustommaterial/CMakeLists.txt
new file mode 100644
index 000000000..40f6f2ad3
--- /dev/null
+++ b/examples/qt3d/advancedcustommaterial/CMakeLists.txt
@@ -0,0 +1,87 @@
+# Generated from advancedcustommaterial.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(advancedcustommaterial LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(advancedcustommaterial
+ main.cpp
+)
+target_link_libraries(advancedcustommaterial PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(qml_resource_files
+ "SceneRoot.qml"
+ "Water.qml"
+ "WaterMaterial.qml"
+ "main.qml"
+)
+
+qt6_add_resources(advancedcustommaterial "qml"
+ PREFIX
+ "/"
+ FILES
+ ${qml_resource_files}
+)
+set(models_resource_files
+ "models/waterPlane.obj"
+)
+
+qt6_add_resources(advancedcustommaterial "models"
+ PREFIX
+ "/"
+ FILES
+ ${models_resource_files}
+)
+set(textures_resource_files
+ "textures/WaterDiffuse.jpg"
+ "textures/WaterNormal.jpg"
+ "textures/WaterSpecular.jpg"
+ "textures/Waterwave.jpg"
+ "textures/foam.jpg"
+ "textures/sky.jpg"
+)
+
+qt6_add_resources(advancedcustommaterial "textures"
+ PREFIX
+ "/"
+ FILES
+ ${textures_resource_files}
+)
+set(shaders_resource_files
+ "shaders/es2/water.frag"
+ "shaders/es2/water.vert"
+ "shaders/gl3/water.frag"
+ "shaders/gl3/water.vert"
+)
+
+qt6_add_resources(advancedcustommaterial "shaders"
+ PREFIX
+ "/"
+ FILES
+ ${shaders_resource_files}
+)
+
+install(TARGETS advancedcustommaterial
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/anaglyph-rendering/CMakeLists.txt b/examples/qt3d/anaglyph-rendering/CMakeLists.txt
new file mode 100644
index 000000000..4214b4864
--- /dev/null
+++ b/examples/qt3d/anaglyph-rendering/CMakeLists.txt
@@ -0,0 +1,128 @@
+# Generated from anaglyph-rendering.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(anaglyph-rendering LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(anaglyph-rendering
+ main.cpp
+)
+target_link_libraries(anaglyph-rendering PUBLIC
+ Qt::3DCore
+ Qt::3DExtras
+ Qt::3DInput
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(resources_resource_files
+ "StereoCamera.qml"
+ "StereoFrameGraph.qml"
+ "main.qml"
+)
+
+qt6_add_resources(anaglyph-rendering "resources"
+ PREFIX
+ "/"
+ FILES
+ ${resources_resource_files}
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/default/default_irradiance.dds"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/default/default_irradiance.dds"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/default/default_specular.dds"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/default/default_specular.dds"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/miramar/miramar_negx.webp"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/miramar/miramar_negx.webp"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/miramar/miramar_negy.webp"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/miramar/miramar_negy.webp"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/miramar/miramar_negz.webp"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/miramar/miramar_negz.webp"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/miramar/miramar_posx.webp"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/miramar/miramar_posx.webp"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/miramar/miramar_posy.webp"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/miramar/miramar_posy.webp"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/miramar/miramar_posz.webp"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/miramar/miramar_posz.webp"
+)
+set(cubemaps_resource_files
+ "assets/cubemaps/default/default_irradiance.dds"
+ "assets/cubemaps/default/default_specular.dds"
+ "assets/cubemaps/miramar/miramar_negx.webp"
+ "assets/cubemaps/miramar/miramar_negy.webp"
+ "assets/cubemaps/miramar/miramar_negz.webp"
+ "assets/cubemaps/miramar/miramar_posx.webp"
+ "assets/cubemaps/miramar/miramar_posy.webp"
+ "assets/cubemaps/miramar/miramar_posz.webp"
+)
+
+qt6_add_resources(anaglyph-rendering "cubemaps"
+ PREFIX
+ "/"
+ BASE
+ "../exampleresources"
+ FILES
+ ${cubemaps_resource_files}
+)
+set_source_files_properties("../exampleresources/assets/obj/ball.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/ball.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/material-sphere.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/material-sphere.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/plane-10x10.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/plane-10x10.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/toyplane.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/toyplane.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/trefoil.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/trefoil.obj"
+)
+set(obj_resource_files
+ "assets/obj/ball.obj"
+ "assets/obj/material-sphere.obj"
+ "assets/obj/plane-10x10.obj"
+ "assets/obj/toyplane.obj"
+ "assets/obj/trefoil.obj"
+)
+
+qt6_add_resources(anaglyph-rendering "obj"
+ PREFIX
+ "/"
+ BASE
+ "../exampleresources"
+ FILES
+ ${obj_resource_files}
+)
+
+install(TARGETS anaglyph-rendering
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/audio-visualizer-qml/CMakeLists.txt b/examples/qt3d/audio-visualizer-qml/CMakeLists.txt
new file mode 100644
index 000000000..7cb5b7409
--- /dev/null
+++ b/examples/qt3d/audio-visualizer-qml/CMakeLists.txt
@@ -0,0 +1,68 @@
+# Generated from audio-visualizer-qml.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(audio-visualizer-qml LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+find_package(Qt6 COMPONENTS Multimedia)
+
+add_qt_gui_executable(audio-visualizer-qml
+ main.cpp
+ touchsettings.cpp touchsettings.h
+)
+target_link_libraries(audio-visualizer-qml PUBLIC
+ Qt::3DCore
+ Qt::3DQuick
+ Qt::Core
+ Qt::Gui
+ Qt::Multimedia
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(audio-visualizer-qml_resource_files
+ "BarEntity.qml"
+ "Visualizer.qml"
+ "images/albumcover.png"
+ "images/demotitle.png"
+ "images/normalmap.png"
+ "images/pausehoverpressed.png"
+ "images/pausenormal.png"
+ "images/playhoverpressed.png"
+ "images/playnormal.png"
+ "images/songtitle.png"
+ "images/stopdisabled.png"
+ "images/stophoverpressed.png"
+ "images/stopnormal.png"
+ "main.qml"
+ "meshes/circle.obj"
+ "meshes/progressbar.obj"
+ "music/tiltshifted_lost_neon_sun.mp3"
+ "music/visualization.raw"
+)
+
+qt6_add_resources(audio-visualizer-qml "audio-visualizer-qml"
+ PREFIX
+ "/"
+ FILES
+ ${audio-visualizer-qml_resource_files}
+)
+
+install(TARGETS audio-visualizer-qml
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/basicshapes-cpp/CMakeLists.txt b/examples/qt3d/basicshapes-cpp/CMakeLists.txt
new file mode 100644
index 000000000..cebb87ae7
--- /dev/null
+++ b/examples/qt3d/basicshapes-cpp/CMakeLists.txt
@@ -0,0 +1,36 @@
+# Generated from basicshapes-cpp.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(basicshapes-cpp LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+add_qt_gui_executable(basicshapes-cpp
+ main.cpp
+ scenemodifier.cpp scenemodifier.h
+)
+target_link_libraries(basicshapes-cpp PUBLIC
+ Qt::3DCore
+ Qt::3DExtras
+ Qt::3DInput
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+)
+
+install(TARGETS basicshapes-cpp
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/compute-particles/CMakeLists.txt b/examples/qt3d/compute-particles/CMakeLists.txt
new file mode 100644
index 000000000..0f6f71736
--- /dev/null
+++ b/examples/qt3d/compute-particles/CMakeLists.txt
@@ -0,0 +1,56 @@
+# Generated from compute-particles.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(compute-particles LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Quick)
+find_package(Qt6 COMPONENTS Qml)
+
+add_qt_gui_executable(compute-particles
+ main.cpp
+)
+target_link_libraries(compute-particles PUBLIC
+ Qt::3DCore
+ Qt::3DInput
+ Qt::3DQuick
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(compute-particles_resource_files
+ "ComputeFrameGraph.qml"
+ "ComputeMaterial.qml"
+ "ParticlesScene.qml"
+ "main.qml"
+ "particles.comp"
+ "particles.frag"
+ "particles.vert"
+)
+
+qt6_add_resources(compute-particles "compute-particles"
+ PREFIX
+ "/"
+ FILES
+ ${compute-particles_resource_files}
+)
+
+install(TARGETS compute-particles
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/controls/CMakeLists.txt b/examples/qt3d/controls/CMakeLists.txt
new file mode 100644
index 000000000..0bdef4187
--- /dev/null
+++ b/examples/qt3d/controls/CMakeLists.txt
@@ -0,0 +1,48 @@
+# Generated from controls.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(controls LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(controls
+ main.cpp
+)
+target_link_libraries(controls PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(controls_resource_files
+ "Logo.qml"
+ "Qt_logo.obj"
+ "main.qml"
+)
+
+qt6_add_resources(controls "controls"
+ PREFIX
+ "/"
+ FILES
+ ${controls_resource_files}
+)
+
+install(TARGETS controls
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/controlsunderlay/CMakeLists.txt b/examples/qt3d/controlsunderlay/CMakeLists.txt
new file mode 100644
index 000000000..712596678
--- /dev/null
+++ b/examples/qt3d/controlsunderlay/CMakeLists.txt
@@ -0,0 +1,48 @@
+# Generated from controlsunderlay.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(controlsunderlay LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(controlsunderlay
+ main.cpp
+)
+target_link_libraries(controlsunderlay PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(controls_resource_files
+ "Logo.qml"
+ "Qt_logo.obj"
+ "main.qml"
+)
+
+qt6_add_resources(controlsunderlay "controls"
+ PREFIX
+ "/"
+ FILES
+ ${controls_resource_files}
+)
+
+install(TARGETS controlsunderlay
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/instanced-arrays-qml/CMakeLists.txt b/examples/qt3d/instanced-arrays-qml/CMakeLists.txt
new file mode 100644
index 000000000..7461f0c13
--- /dev/null
+++ b/examples/qt3d/instanced-arrays-qml/CMakeLists.txt
@@ -0,0 +1,54 @@
+# Generated from instanced-arrays-qml.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(instanced-arrays-qml LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(instanced-arrays-qml
+ instancebuffer.cpp instancebuffer.h
+ main.cpp
+)
+target_link_libraries(instanced-arrays-qml PUBLIC
+ Qt::3DCore
+ Qt::3DInput
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(instanced-arrays-qml_resource_files
+ "instanced.frag"
+ "instanced.vert"
+ "main.qml"
+)
+
+qt6_add_resources(instanced-arrays-qml "instanced-arrays-qml"
+ PREFIX
+ "/"
+ FILES
+ ${instanced-arrays-qml_resource_files}
+)
+
+install(TARGETS instanced-arrays-qml
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/lights/CMakeLists.txt b/examples/qt3d/lights/CMakeLists.txt
new file mode 100644
index 000000000..11be8eebc
--- /dev/null
+++ b/examples/qt3d/lights/CMakeLists.txt
@@ -0,0 +1,199 @@
+# Generated from lights.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(lights LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(lights
+ main.cpp
+)
+target_link_libraries(lights PUBLIC
+ Qt::3DCore
+ Qt::3DInput
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(lights_resource_files
+ "PlaneEntity.qml"
+ "SimpleForwardRenderer.qml"
+ "main.qml"
+)
+
+qt6_add_resources(lights "lights"
+ PREFIX
+ "/"
+ FILES
+ ${lights_resource_files}
+)
+set_source_files_properties("../exampleresources/assets/obj/ball.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/ball.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/material-sphere.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/material-sphere.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/plane-10x10.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/plane-10x10.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/toyplane.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/toyplane.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/trefoil.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/trefoil.obj"
+)
+set(obj_resource_files
+ "assets/obj/ball.obj"
+ "assets/obj/material-sphere.obj"
+ "assets/obj/plane-10x10.obj"
+ "assets/obj/toyplane.obj"
+ "assets/obj/trefoil.obj"
+)
+
+qt6_add_resources(lights "obj"
+ PREFIX
+ "/"
+ BASE
+ "../exampleresources"
+ FILES
+ ${obj_resource_files}
+)
+set_source_files_properties("../exampleresources/assets/textures/aluminium_random_brushed/aluminium_random_brushed_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/aluminium_random_brushed/aluminium_random_brushed_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/aluminium_random_brushed/aluminium_random_brushed_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/aluminium_random_brushed/aluminium_random_brushed_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/aluminium_random_brushed/aluminium_random_brushed_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/aluminium_random_brushed/aluminium_random_brushed_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/aluminium_random_brushed/aluminium_random_brushed_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/aluminium_random_brushed/aluminium_random_brushed_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_ambient_occlusion.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_ambient_occlusion.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/copper_brushed/copper_brushed_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/copper_brushed/copper_brushed_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/copper_brushed/copper_brushed_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/copper_brushed/copper_brushed_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/copper_brushed/copper_brushed_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/copper_brushed/copper_brushed_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/copper_brushed/copper_brushed_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/copper_brushed/copper_brushed_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/gold_leaf_waste/gold_leaf_waste_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/gold_leaf_waste/gold_leaf_waste_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/gold_leaf_waste/gold_leaf_waste_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/gold_leaf_waste/gold_leaf_waste_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/gold_leaf_waste/gold_leaf_waste_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/gold_leaf_waste/gold_leaf_waste_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/gold_leaf_waste/gold_leaf_waste_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/gold_leaf_waste/gold_leaf_waste_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/no-ao.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/no-ao.png"
+)
+set(textures_resource_files
+ "assets/textures/aluminium_random_brushed/aluminium_random_brushed_basecolor.png"
+ "assets/textures/aluminium_random_brushed/aluminium_random_brushed_metallic.png"
+ "assets/textures/aluminium_random_brushed/aluminium_random_brushed_normal.png"
+ "assets/textures/aluminium_random_brushed/aluminium_random_brushed_roughness.png"
+ "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_basecolor.png"
+ "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_metallic.png"
+ "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_normal.png"
+ "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_roughness.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_ambient_occlusion.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_basecolor.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_metallic.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_normal.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_roughness.png"
+ "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_basecolor.png"
+ "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_metallic.png"
+ "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_normal.png"
+ "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_roughness.png"
+ "assets/textures/copper_brushed/copper_brushed_basecolor.png"
+ "assets/textures/copper_brushed/copper_brushed_metallic.png"
+ "assets/textures/copper_brushed/copper_brushed_normal.png"
+ "assets/textures/copper_brushed/copper_brushed_roughness.png"
+ "assets/textures/gold_leaf_waste/gold_leaf_waste_basecolor.png"
+ "assets/textures/gold_leaf_waste/gold_leaf_waste_metallic.png"
+ "assets/textures/gold_leaf_waste/gold_leaf_waste_normal.png"
+ "assets/textures/gold_leaf_waste/gold_leaf_waste_roughness.png"
+ "assets/textures/no-ao.png"
+)
+
+qt6_add_resources(lights "textures"
+ PREFIX
+ "/"
+ BASE
+ "../exampleresources"
+ FILES
+ ${textures_resource_files}
+)
+
+install(TARGETS lights
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/multiviewport/CMakeLists.txt b/examples/qt3d/multiviewport/CMakeLists.txt
new file mode 100644
index 000000000..48dd7e5ed
--- /dev/null
+++ b/examples/qt3d/multiviewport/CMakeLists.txt
@@ -0,0 +1,69 @@
+# Generated from multiviewport.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(multiviewport LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(multiviewport
+ main.cpp
+)
+target_link_libraries(multiviewport PUBLIC
+ Qt::3DCore
+ Qt::3DInput
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(multiviewport_resource_files
+ "Gear_scene.dae"
+ "QuadViewportFrameGraph.qml"
+ "SimpleCamera.qml"
+ "main.qml"
+)
+
+qt6_add_resources(multiviewport "multiviewport"
+ PREFIX
+ "/"
+ FILES
+ ${multiviewport_resource_files}
+)
+set_source_files_properties("../exampleresources/assets/test_scene.dae"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/test_scene.dae"
+)
+set(test_scene_resource_files
+ "assets/test_scene.dae"
+)
+
+qt6_add_resources(multiviewport "test_scene"
+ PREFIX
+ "/"
+ BASE
+ "../exampleresources"
+ FILES
+ ${test_scene_resource_files}
+)
+
+install(TARGETS multiviewport
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/pbr-materials/CMakeLists.txt b/examples/qt3d/pbr-materials/CMakeLists.txt
new file mode 100644
index 000000000..ae2792841
--- /dev/null
+++ b/examples/qt3d/pbr-materials/CMakeLists.txt
@@ -0,0 +1,243 @@
+# Generated from pbr-materials.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(pbr-materials LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(pbr-materials
+ main.cpp
+)
+target_link_libraries(pbr-materials PUBLIC
+ Qt::3DCore
+ Qt::3DInput
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(materials_resource_files
+ "BasicCamera.qml"
+ "Lights.qml"
+ "TrefoilKnot.qml"
+ "main.qml"
+)
+
+qt6_add_resources(pbr-materials "materials"
+ PREFIX
+ "/"
+ FILES
+ ${materials_resource_files}
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/default/default_irradiance.dds"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/default/default_irradiance.dds"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/default/default_specular.dds"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/default/default_specular.dds"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/miramar/miramar_negx.webp"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/miramar/miramar_negx.webp"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/miramar/miramar_negy.webp"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/miramar/miramar_negy.webp"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/miramar/miramar_negz.webp"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/miramar/miramar_negz.webp"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/miramar/miramar_posx.webp"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/miramar/miramar_posx.webp"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/miramar/miramar_posy.webp"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/miramar/miramar_posy.webp"
+)
+set_source_files_properties("../exampleresources/assets/cubemaps/miramar/miramar_posz.webp"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/cubemaps/miramar/miramar_posz.webp"
+)
+set(cubemaps_resource_files
+ "assets/cubemaps/default/default_irradiance.dds"
+ "assets/cubemaps/default/default_specular.dds"
+ "assets/cubemaps/miramar/miramar_negx.webp"
+ "assets/cubemaps/miramar/miramar_negy.webp"
+ "assets/cubemaps/miramar/miramar_negz.webp"
+ "assets/cubemaps/miramar/miramar_posx.webp"
+ "assets/cubemaps/miramar/miramar_posy.webp"
+ "assets/cubemaps/miramar/miramar_posz.webp"
+)
+
+qt6_add_resources(pbr-materials "cubemaps"
+ PREFIX
+ "/"
+ BASE
+ "../exampleresources"
+ FILES
+ ${cubemaps_resource_files}
+)
+set_source_files_properties("../exampleresources/assets/obj/ball.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/ball.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/material-sphere.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/material-sphere.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/plane-10x10.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/plane-10x10.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/toyplane.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/toyplane.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/trefoil.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/trefoil.obj"
+)
+set(obj_resource_files
+ "assets/obj/ball.obj"
+ "assets/obj/material-sphere.obj"
+ "assets/obj/plane-10x10.obj"
+ "assets/obj/toyplane.obj"
+ "assets/obj/trefoil.obj"
+)
+
+qt6_add_resources(pbr-materials "obj"
+ PREFIX
+ "/"
+ BASE
+ "../exampleresources"
+ FILES
+ ${obj_resource_files}
+)
+set_source_files_properties("../exampleresources/assets/textures/aluminium_random_brushed/aluminium_random_brushed_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/aluminium_random_brushed/aluminium_random_brushed_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/aluminium_random_brushed/aluminium_random_brushed_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/aluminium_random_brushed/aluminium_random_brushed_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/aluminium_random_brushed/aluminium_random_brushed_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/aluminium_random_brushed/aluminium_random_brushed_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/aluminium_random_brushed/aluminium_random_brushed_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/aluminium_random_brushed/aluminium_random_brushed_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_ambient_occlusion.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_ambient_occlusion.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/copper_brushed/copper_brushed_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/copper_brushed/copper_brushed_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/copper_brushed/copper_brushed_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/copper_brushed/copper_brushed_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/copper_brushed/copper_brushed_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/copper_brushed/copper_brushed_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/copper_brushed/copper_brushed_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/copper_brushed/copper_brushed_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/gold_leaf_waste/gold_leaf_waste_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/gold_leaf_waste/gold_leaf_waste_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/gold_leaf_waste/gold_leaf_waste_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/gold_leaf_waste/gold_leaf_waste_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/gold_leaf_waste/gold_leaf_waste_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/gold_leaf_waste/gold_leaf_waste_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/gold_leaf_waste/gold_leaf_waste_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/gold_leaf_waste/gold_leaf_waste_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/no-ao.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/no-ao.png"
+)
+set(textures_resource_files
+ "assets/textures/aluminium_random_brushed/aluminium_random_brushed_basecolor.png"
+ "assets/textures/aluminium_random_brushed/aluminium_random_brushed_metallic.png"
+ "assets/textures/aluminium_random_brushed/aluminium_random_brushed_normal.png"
+ "assets/textures/aluminium_random_brushed/aluminium_random_brushed_roughness.png"
+ "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_basecolor.png"
+ "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_metallic.png"
+ "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_normal.png"
+ "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_roughness.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_ambient_occlusion.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_basecolor.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_metallic.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_normal.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_roughness.png"
+ "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_basecolor.png"
+ "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_metallic.png"
+ "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_normal.png"
+ "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_roughness.png"
+ "assets/textures/copper_brushed/copper_brushed_basecolor.png"
+ "assets/textures/copper_brushed/copper_brushed_metallic.png"
+ "assets/textures/copper_brushed/copper_brushed_normal.png"
+ "assets/textures/copper_brushed/copper_brushed_roughness.png"
+ "assets/textures/gold_leaf_waste/gold_leaf_waste_basecolor.png"
+ "assets/textures/gold_leaf_waste/gold_leaf_waste_metallic.png"
+ "assets/textures/gold_leaf_waste/gold_leaf_waste_normal.png"
+ "assets/textures/gold_leaf_waste/gold_leaf_waste_roughness.png"
+ "assets/textures/no-ao.png"
+)
+
+qt6_add_resources(pbr-materials "textures"
+ PREFIX
+ "/"
+ BASE
+ "../exampleresources"
+ FILES
+ ${textures_resource_files}
+)
+
+install(TARGETS pbr-materials
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/phong-cubes/CMakeLists.txt b/examples/qt3d/phong-cubes/CMakeLists.txt
new file mode 100644
index 000000000..c808745ac
--- /dev/null
+++ b/examples/qt3d/phong-cubes/CMakeLists.txt
@@ -0,0 +1,167 @@
+# Generated from phong-cubes.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(phong-cubes LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(phong-cubes
+ main.cpp
+)
+target_link_libraries(phong-cubes PUBLIC
+ Qt::3DCore
+ Qt::3DInput
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(phong-cubes_resource_files
+ "CubeEntity.qml"
+ "main.qml"
+)
+
+qt6_add_resources(phong-cubes "phong-cubes"
+ PREFIX
+ "/"
+ FILES
+ ${phong-cubes_resource_files}
+)
+set_source_files_properties("../exampleresources/assets/textures/aluminium_random_brushed/aluminium_random_brushed_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/aluminium_random_brushed/aluminium_random_brushed_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/aluminium_random_brushed/aluminium_random_brushed_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/aluminium_random_brushed/aluminium_random_brushed_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/aluminium_random_brushed/aluminium_random_brushed_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/aluminium_random_brushed/aluminium_random_brushed_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/aluminium_random_brushed/aluminium_random_brushed_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/aluminium_random_brushed/aluminium_random_brushed_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_ambient_occlusion.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_ambient_occlusion.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_small_diamond/ceramic_small_diamond_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_small_diamond/ceramic_small_diamond_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/copper_brushed/copper_brushed_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/copper_brushed/copper_brushed_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/copper_brushed/copper_brushed_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/copper_brushed/copper_brushed_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/copper_brushed/copper_brushed_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/copper_brushed/copper_brushed_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/copper_brushed/copper_brushed_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/copper_brushed/copper_brushed_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/gold_leaf_waste/gold_leaf_waste_basecolor.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/gold_leaf_waste/gold_leaf_waste_basecolor.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/gold_leaf_waste/gold_leaf_waste_metallic.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/gold_leaf_waste/gold_leaf_waste_metallic.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/gold_leaf_waste/gold_leaf_waste_normal.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/gold_leaf_waste/gold_leaf_waste_normal.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/gold_leaf_waste/gold_leaf_waste_roughness.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/gold_leaf_waste/gold_leaf_waste_roughness.png"
+)
+set_source_files_properties("../exampleresources/assets/textures/no-ao.png"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/textures/no-ao.png"
+)
+set(textures_resource_files
+ "assets/textures/aluminium_random_brushed/aluminium_random_brushed_basecolor.png"
+ "assets/textures/aluminium_random_brushed/aluminium_random_brushed_metallic.png"
+ "assets/textures/aluminium_random_brushed/aluminium_random_brushed_normal.png"
+ "assets/textures/aluminium_random_brushed/aluminium_random_brushed_roughness.png"
+ "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_basecolor.png"
+ "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_metallic.png"
+ "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_normal.png"
+ "assets/textures/american_walnut_crown_cut/american_walnut_crown_cut_roughness.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_ambient_occlusion.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_basecolor.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_metallic.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_normal.png"
+ "assets/textures/ceramic_small_diamond/ceramic_small_diamond_roughness.png"
+ "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_basecolor.png"
+ "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_metallic.png"
+ "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_normal.png"
+ "assets/textures/ceramic_tiles_brown_tomato/ceramic_tiles_brown_tomato_roughness.png"
+ "assets/textures/copper_brushed/copper_brushed_basecolor.png"
+ "assets/textures/copper_brushed/copper_brushed_metallic.png"
+ "assets/textures/copper_brushed/copper_brushed_normal.png"
+ "assets/textures/copper_brushed/copper_brushed_roughness.png"
+ "assets/textures/gold_leaf_waste/gold_leaf_waste_basecolor.png"
+ "assets/textures/gold_leaf_waste/gold_leaf_waste_metallic.png"
+ "assets/textures/gold_leaf_waste/gold_leaf_waste_normal.png"
+ "assets/textures/gold_leaf_waste/gold_leaf_waste_roughness.png"
+ "assets/textures/no-ao.png"
+)
+
+qt6_add_resources(phong-cubes "textures"
+ PREFIX
+ "/"
+ BASE
+ "../exampleresources"
+ FILES
+ ${textures_resource_files}
+)
+
+install(TARGETS phong-cubes
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/planets-qml/CMakeLists.txt b/examples/qt3d/planets-qml/CMakeLists.txt
new file mode 100644
index 000000000..5a536896e
--- /dev/null
+++ b/examples/qt3d/planets-qml/CMakeLists.txt
@@ -0,0 +1,135 @@
+# Generated from planets-qml.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(planets-qml LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+find_package(Qt6 COMPONENTS Concurrent)
+find_package(Qt6 COMPONENTS Network)
+
+add_qt_gui_executable(planets-qml
+ main.cpp
+ networkcontroller.cpp networkcontroller.h
+)
+target_link_libraries(planets-qml PUBLIC
+ Qt::3DCore
+ Qt::3DInput
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::3DQuickInput
+ Qt::3DQuickRender
+ Qt::3DRender
+ Qt::Concurrent
+ Qt::Core
+ Qt::Gui
+ Qt::Network
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(planets-qml_resource_files
+ "AppleTVInput.qml"
+ "FpsDisplay.qml"
+ "InfoSheet.qml"
+ "Planet.qml"
+ "PlanetButton.qml"
+ "PlanetEffect.qml"
+ "PlanetFrameGraph.qml"
+ "PlanetMaterial.qml"
+ "PlanetsLight.qml"
+ "PlanetsMain.qml"
+ "Ring.qml"
+ "ShadowEffect.qml"
+ "SolarSystem.qml"
+ "StyledSlider.qml"
+ "SunEffect.qml"
+ "meshes/ring.obj"
+ "meshes/starfield.obj"
+ "planets.js"
+ "shaders/es2/planetD.frag"
+ "shaders/es2/planetD.vert"
+ "shaders/es2/planetDB.frag"
+ "shaders/es2/planetDB.vert"
+ "shaders/es2/planetDS.frag"
+ "shaders/es2/planetDSB.frag"
+ "shaders/es2/sun.frag"
+ "shaders/es2/sun.vert"
+ "shaders/gl3/planetD.frag"
+ "shaders/gl3/planetD.vert"
+ "shaders/gl3/planetDB.frag"
+ "shaders/gl3/planetDB.vert"
+ "shaders/gl3/planetDS.frag"
+ "shaders/gl3/planetDSB.frag"
+ "shaders/gl3/planetDShadow.frag"
+ "shaders/gl3/planetDShadow.vert"
+ "shaders/gl3/shadowmap.frag"
+ "shaders/gl3/shadowmap.vert"
+ "shaders/gl3/sun.frag"
+ "shaders/gl3/sun.vert"
+)
+
+qt6_add_resources(planets-qml "planets-qml"
+ PREFIX
+ "/"
+ FILES
+ ${planets-qml_resource_files}
+)
+set(planets-qml-images_resource_files
+ "images/earth.png"
+ "images/jupiter.png"
+ "images/mars.png"
+ "images/mercury.png"
+ "images/nasa/uranusringcolortrans.png"
+ "images/neptune.png"
+ "images/saturn.png"
+ "images/solarsystemscope/earthcloudmapcolortrans.png"
+ "images/solarsystemscope/earthcloudmapspec.jpg"
+ "images/solarsystemscope/earthmap2k.jpg"
+ "images/solarsystemscope/earthnormal2k.jpg"
+ "images/solarsystemscope/earthspec2k.jpg"
+ "images/solarsystemscope/galaxy_starfield.jpg"
+ "images/solarsystemscope/jupitermap.jpg"
+ "images/solarsystemscope/license.txt"
+ "images/solarsystemscope/marsmap2k.jpg"
+ "images/solarsystemscope/marsnormal2k.jpg"
+ "images/solarsystemscope/mercurymap.jpg"
+ "images/solarsystemscope/mercurynormal.jpg"
+ "images/solarsystemscope/moonmap2k.jpg"
+ "images/solarsystemscope/moonnormal2k.jpg"
+ "images/solarsystemscope/neptunemap.jpg"
+ "images/solarsystemscope/saturnmap.jpg"
+ "images/solarsystemscope/saturnringcolortrans.png"
+ "images/solarsystemscope/sunmap.jpg"
+ "images/solarsystemscope/uranusmap.jpg"
+ "images/solarsystemscope/venusmap.jpg"
+ "images/solarsystemscope/venusnormal.jpg"
+ "images/sun.png"
+ "images/uranus.png"
+ "images/venus.png"
+)
+
+qt6_add_resources(planets-qml "planets-qml-images"
+ PREFIX
+ "/"
+ FILES
+ ${planets-qml-images_resource_files}
+)
+
+install(TARGETS planets-qml
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/qardboard/CMakeLists.txt b/examples/qt3d/qardboard/CMakeLists.txt
new file mode 100644
index 000000000..15ec41aa8
--- /dev/null
+++ b/examples/qt3d/qardboard/CMakeLists.txt
@@ -0,0 +1,101 @@
+# Generated from qardboard.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(qardboard LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(qardboard
+ abstractdeviceorientation.cpp abstractdeviceorientation.h
+ dummydeviceorientation.cpp dummydeviceorientation.h
+ main.cpp
+)
+target_link_libraries(qardboard PUBLIC
+ Qt::3DCore
+ Qt::3DExtras
+ Qt::3DInput
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(resources_resource_files
+ "PlacedEntity.qml"
+ "QardboardCamera.qml"
+ "QardboardFrameGraph.qml"
+ "QardboardRootEntity.qml"
+ "QardboardScene3D.qml"
+ "main.qml"
+)
+
+qt6_add_resources(qardboard "resources"
+ PREFIX
+ "/"
+ FILES
+ ${resources_resource_files}
+)
+set_source_files_properties("../exampleresources/assets/obj/ball.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/ball.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/material-sphere.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/material-sphere.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/plane-10x10.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/plane-10x10.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/toyplane.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/toyplane.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/trefoil.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/trefoil.obj"
+)
+set(obj_resource_files
+ "assets/obj/ball.obj"
+ "assets/obj/material-sphere.obj"
+ "assets/obj/plane-10x10.obj"
+ "assets/obj/toyplane.obj"
+ "assets/obj/trefoil.obj"
+)
+
+qt6_add_resources(qardboard "obj"
+ PREFIX
+ "/"
+ BASE
+ "../exampleresources"
+ FILES
+ ${obj_resource_files}
+)
+
+if(IOS)
+ target_sources(qardboard PUBLIC
+ iosdeviceorientation.h iosdeviceorientation.mm iosdeviceorientation_p.h iosdeviceorientation_p.mm
+ )
+
+ target_link_libraries(qardboard PUBLIC
+ Qt::Sensors
+ Qt::SensorsPrivate
+ )
+endif()
+
+install(TARGETS qardboard
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/qgltf/CMakeLists.txt b/examples/qt3d/qgltf/CMakeLists.txt
new file mode 100644
index 000000000..dd0be6ae0
--- /dev/null
+++ b/examples/qt3d/qgltf/CMakeLists.txt
@@ -0,0 +1,52 @@
+# Generated from qgltf.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(qgltf LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(qgltf
+ main.cpp
+)
+target_link_libraries(qgltf PUBLIC
+ Qt::3DCore
+ Qt::3DExtras
+ 3dquick
+ Qt::3DQuickExtras
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(qgltf_example_resource_files
+ "Scene.qml"
+ "main.qml"
+)
+
+qt6_add_resources(qgltf "qgltf_example"
+ PREFIX
+ "/"
+ FILES
+ ${qgltf_example_resource_files}
+)
+
+install(TARGETS qgltf
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/scene2d/CMakeLists.txt b/examples/qt3d/scene2d/CMakeLists.txt
new file mode 100644
index 000000000..cff3f8900
--- /dev/null
+++ b/examples/qt3d/scene2d/CMakeLists.txt
@@ -0,0 +1,50 @@
+# Generated from scene2d.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(scene2d LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(scene2dsample
+ main.cpp
+)
+target_link_libraries(scene2dsample PUBLIC
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(scene2d_resource_files
+ "LogoControls.qml"
+ "Qt_logo.obj"
+ "main.qml"
+)
+
+qt6_add_resources(scene2dsample "scene2d"
+ PREFIX
+ "/"
+ FILES
+ ${scene2d_resource_files}
+)
+
+install(TARGETS scene2dsample
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/scene3d/CMakeLists.txt b/examples/qt3d/scene3d/CMakeLists.txt
new file mode 100644
index 000000000..675bb53b1
--- /dev/null
+++ b/examples/qt3d/scene3d/CMakeLists.txt
@@ -0,0 +1,48 @@
+# Generated from scene3d.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(scene3d LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(scene3d
+ main.cpp
+)
+target_link_libraries(scene3d PUBLIC
+ Qt::3DInput
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(scene3d_resource_files
+ "AnimatedEntity.qml"
+ "main.qml"
+)
+
+qt6_add_resources(scene3d "scene3d"
+ PREFIX
+ "/"
+ FILES
+ ${scene3d_resource_files}
+)
+
+install(TARGETS scene3d
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/scene3dview/CMakeLists.txt b/examples/qt3d/scene3dview/CMakeLists.txt
new file mode 100644
index 000000000..6ae41b5ac
--- /dev/null
+++ b/examples/qt3d/scene3dview/CMakeLists.txt
@@ -0,0 +1,48 @@
+# Generated from scene3dview.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(scene3dview LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(scene3dview
+ main.cpp
+)
+target_link_libraries(scene3dview PUBLIC
+ Qt::3DInput
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(scene3dview_resource_files
+ "AnimatedEntity.qml"
+ "main.qml"
+)
+
+qt6_add_resources(scene3dview "scene3dview"
+ PREFIX
+ "/"
+ FILES
+ ${scene3dview_resource_files}
+)
+
+install(TARGETS scene3dview
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/shadow-map-qml/CMakeLists.txt b/examples/qt3d/shadow-map-qml/CMakeLists.txt
new file mode 100644
index 000000000..5a3a9c1b2
--- /dev/null
+++ b/examples/qt3d/shadow-map-qml/CMakeLists.txt
@@ -0,0 +1,97 @@
+# Generated from shadow-map-qml.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(shadow-map-qml LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(shadow-map-qml
+ main.cpp
+)
+target_link_libraries(shadow-map-qml PUBLIC
+ Qt::3DCore
+ Qt::3DInput
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(shadow-map-qml_resource_files
+ "AdsEffect.qml"
+ "AdsMaterial.qml"
+ "GroundPlane.qml"
+ "ShadowMapFrameGraph.qml"
+ "ShadowMapLight.qml"
+ "Toyplane.qml"
+ "Trefoil.qml"
+ "main.qml"
+ "shaders/ads.frag"
+ "shaders/ads.vert"
+ "shaders/es3/ads.frag"
+ "shaders/es3/ads.vert"
+ "shaders/es3/shadowmap.frag"
+ "shaders/es3/shadowmap.vert"
+ "shaders/shadowmap.frag"
+ "shaders/shadowmap.vert"
+)
+
+qt6_add_resources(shadow-map-qml "shadow-map-qml"
+ PREFIX
+ "/"
+ FILES
+ ${shadow-map-qml_resource_files}
+)
+set_source_files_properties("../exampleresources/assets/obj/ball.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/ball.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/material-sphere.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/material-sphere.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/plane-10x10.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/plane-10x10.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/toyplane.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/toyplane.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/trefoil.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/trefoil.obj"
+)
+set(obj_resource_files
+ "assets/obj/ball.obj"
+ "assets/obj/material-sphere.obj"
+ "assets/obj/plane-10x10.obj"
+ "assets/obj/toyplane.obj"
+ "assets/obj/trefoil.obj"
+)
+
+qt6_add_resources(shadow-map-qml "obj"
+ PREFIX
+ "/"
+ BASE
+ "../exampleresources"
+ FILES
+ ${obj_resource_files}
+)
+
+install(TARGETS shadow-map-qml
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/simple-cpp/CMakeLists.txt b/examples/qt3d/simple-cpp/CMakeLists.txt
new file mode 100644
index 000000000..4afa8b410
--- /dev/null
+++ b/examples/qt3d/simple-cpp/CMakeLists.txt
@@ -0,0 +1,34 @@
+# Generated from simple-cpp.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(simple-cpp LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+add_qt_gui_executable(simple-cpp
+ main.cpp
+ orbittransformcontroller.cpp orbittransformcontroller.h
+)
+target_link_libraries(simple-cpp PUBLIC
+ Qt::3DCore
+ Qt::3DExtras
+ Qt::3DInput
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+)
+
+install(TARGETS simple-cpp
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/simple-qml/CMakeLists.txt b/examples/qt3d/simple-qml/CMakeLists.txt
new file mode 100644
index 000000000..90ebefdd0
--- /dev/null
+++ b/examples/qt3d/simple-qml/CMakeLists.txt
@@ -0,0 +1,54 @@
+# Generated from simple-qml.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(simple-qml LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(simple-qml
+ main.cpp
+)
+target_link_libraries(simple-qml PUBLIC
+ Qt::3DCore
+ Qt::3DInput
+ 3DLogic
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(simple-qml_resource_files
+ "main.qml"
+)
+
+qt6_add_resources(simple-qml "simple-qml"
+ PREFIX
+ "/"
+ FILES
+ ${simple-qml_resource_files}
+)
+
+target_sources(simple-qml PRIVATE ${simple-qml_resource_files})
+
+install(TARGETS simple-qml
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/simplecustommaterial/CMakeLists.txt b/examples/qt3d/simplecustommaterial/CMakeLists.txt
new file mode 100644
index 000000000..845f397ee
--- /dev/null
+++ b/examples/qt3d/simplecustommaterial/CMakeLists.txt
@@ -0,0 +1,62 @@
+# Generated from simplecustommaterial.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(simplecustommaterial LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(simplecustommaterial
+ main.cpp
+)
+target_link_libraries(simplecustommaterial PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(qml_resource_files
+ "PlaneModel.qml"
+ "SceneRoot.qml"
+ "SimpleMaterial.qml"
+ "main.qml"
+)
+
+qt6_add_resources(simplecustommaterial "qml"
+ PREFIX
+ "/"
+ FILES
+ ${qml_resource_files}
+)
+set(shaders_resource_files
+ "shaders/es2/simpleColor.frag"
+ "shaders/es2/simpleColor.vert"
+ "shaders/gl3/simpleColor.frag"
+ "shaders/gl3/simpleColor.vert"
+)
+
+qt6_add_resources(simplecustommaterial "shaders"
+ PREFIX
+ "/"
+ FILES
+ ${shaders_resource_files}
+)
+
+install(TARGETS simplecustommaterial
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/wave/CMakeLists.txt b/examples/qt3d/wave/CMakeLists.txt
new file mode 100644
index 000000000..ac407672f
--- /dev/null
+++ b/examples/qt3d/wave/CMakeLists.txt
@@ -0,0 +1,67 @@
+# Generated from wave.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(wave LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(wave
+ main.cpp
+)
+target_link_libraries(wave PUBLIC
+ Qt::3DCore
+ Qt::3DInput
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(wave_resource_files
+ "Background.qml"
+ "BackgroundEffect.qml"
+ "BasicCamera.qml"
+ "Wave.qml"
+ "WaveEffect.qml"
+ "WaveForwardRenderer.qml"
+ "WaveMaterial.qml"
+ "main.qml"
+ "shaders/background.frag"
+ "shaders/background.vert"
+ "shaders/ribbon.frag"
+ "shaders/ribbon.vert"
+ "shaders/ribbonwireframe.frag"
+ "shaders/robustwireframe.geom"
+)
+
+qt6_add_resources(wave "wave"
+ PREFIX
+ "/"
+ FILES
+ ${wave_resource_files}
+)
+
+target_sources(wave PRIVATE ${wave_resource_files})
+
+install(TARGETS wave
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
+
diff --git a/examples/qt3d/widgets-scene3d/CMakeLists.txt b/examples/qt3d/widgets-scene3d/CMakeLists.txt
new file mode 100644
index 000000000..cd4cb9a34
--- /dev/null
+++ b/examples/qt3d/widgets-scene3d/CMakeLists.txt
@@ -0,0 +1,58 @@
+# Generated from widgets-scene3d.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(widgets-scene3d LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+find_package(Qt6 COMPONENTS QuickWidgets)
+
+add_qt_gui_executable(widgets-scene3d
+ main.cpp
+)
+target_link_libraries(widgets-scene3d PUBLIC
+ Qt::3DInput
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::QuickWidgets
+ Qt::Widgets
+)
+
+
+# Resources:
+set_source_files_properties("../scene3d/AnimatedEntity.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "AnimatedEntity.qml"
+)
+set_source_files_properties("../scene3d/main.qml"
+ PROPERTIES QT_RESOURCE_ALIAS "main.qml"
+)
+set(widgets-scene3d_resource_files
+ "../scene3d/AnimatedEntity.qml"
+ "../scene3d/main.qml"
+)
+
+qt6_add_resources(widgets-scene3d "widgets-scene3d"
+ PREFIX
+ "/"
+ FILES
+ ${widgets-scene3d_resource_files}
+)
+
+install(TARGETS widgets-scene3d
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/qt3d/wireframe/CMakeLists.txt b/examples/qt3d/wireframe/CMakeLists.txt
new file mode 100644
index 000000000..20fc8287d
--- /dev/null
+++ b/examples/qt3d/wireframe/CMakeLists.txt
@@ -0,0 +1,89 @@
+# Generated from wireframe.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(wireframe LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+set(INSTALL_EXAMPLEDIR "examples")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Qml)
+find_package(Qt6 COMPONENTS Quick)
+
+add_qt_gui_executable(wireframe
+ main.cpp
+)
+target_link_libraries(wireframe PUBLIC
+ Qt::3DCore
+ Qt::3DInput
+ Qt::3DQuick
+ Qt::3DQuickExtras
+ Qt::3DRender
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+
+# Resources:
+set(wireframe_resource_files
+ "BasicCamera.qml"
+ "TrefoilKnot.qml"
+ "WireframeEffect.qml"
+ "WireframeMaterial.qml"
+ "main.qml"
+ "shaders/robustwireframe.frag"
+ "shaders/robustwireframe.geom"
+ "shaders/robustwireframe.vert"
+)
+
+qt6_add_resources(wireframe "wireframe"
+ PREFIX
+ "/"
+ FILES
+ ${wireframe_resource_files}
+)
+set_source_files_properties("../exampleresources/assets/obj/ball.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/ball.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/material-sphere.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/material-sphere.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/plane-10x10.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/plane-10x10.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/toyplane.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/toyplane.obj"
+)
+set_source_files_properties("../exampleresources/assets/obj/trefoil.obj"
+ PROPERTIES QT_RESOURCE_ALIAS "assets/obj/trefoil.obj"
+)
+set(obj_resource_files
+ "assets/obj/ball.obj"
+ "assets/obj/material-sphere.obj"
+ "assets/obj/plane-10x10.obj"
+ "assets/obj/toyplane.obj"
+ "assets/obj/trefoil.obj"
+)
+
+qt6_add_resources(wireframe "obj"
+ PREFIX
+ "/"
+ BASE
+ "../exampleresources"
+ FILES
+ ${obj_resource_files}
+)
+
+install(TARGETS wireframe
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)