1// Copyright (C) 2022 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
5\page qtquick3d-index.html
7\brief Provides API that lets you define 3D items using QML.
9Qt Quick 3D provides a high-level API for creating 3D content and 3D user
10interfaces based on \l{Qt Quick}. Rather than using an external engine, which
11creates syncing issues and additional layers of abstraction, Qt Quick 3D
12provides extensions to the existing \l{Qt Quick Scene Graph} for spatial content
13and a renderer for that extended scene graph. When using the spatial scene
14graph, it's possible to mix Qt Quick 2D content with 3D content.
18\section1 Using the Module
22\include {module-use.qdocinc} {using the qml api} {QtQuick3D}
24The following module imports provide additional functionality:
27import QtQuick3D.AssetUtils
28import QtQuick3D.Helpers
29import QtQuick3D.Particles3D
34\include {module-use.qdocinc} {using the c++ api}
36\section3 Building with CMake
38\include {module-use.qdocinc} {building with cmake} {Quick3D}
40\section3 Building with qmake
42\include {module-use.qdocinc} {building_with_qmake} {quick3d}
44\section1 Building From Source
46When building from source, ensure that the modules and tools from the
47\e qtdeclarative and \e qtshadertools repositories are built first, as
48it's not possible to use Qt Quick 3D without these. Having \e
49qtquicktimeline available is strongly recommended as well, since
50keyframe-based animations will not be available otherwise.
52In addition, some of the examples rely on \l {Qt Quick Controls}.
54\section1 Module Evolution
55\l{Changes to Qt Quick 3D} lists important changes in the module API
56and functionality that were done for the Qt 6 series of Qt.
58\section1 Articles and Guides
61 \li \l{Qt Quick 3D - Introduction}{Qt Quick 3D Introduction Example}
62 \li \l{quick3d-asset-intro}{Qt Quick 3D Introduction with glTF Assets}
63 \li \l{Qt Quick 3D Graphics Requirements}
64 \li \l{Qt Quick 3D Architecture}
65 \li \l{Balsam Asset Import Tool}
66 \li \l{Optimizing 3D Assets}
67 \li \l{quick3d-pbr}{Physically-Based Rendering}
68 \li \l{Using Image-Based Lighting}
69 \li \l{Anti-Aliasing Best Practices}
70 \li \l{Qt Quick 3D Scenes with 2D Content}
71 \li \l{Programmable Materials, Effects, Geometry, and Texture data}
72 \li \l{Shadergen Tool}{Build-time materials}
73 \li \l{Vertex Skinning}{Skeletal Animation}
74 \li \l{Morphing Animation}{Morphing Animation}
75 \li \l{Instanced Rendering}{Instanced Rendering}
76 \li \l{Qt Quick 3D Level of Detail}{Level of Detail}
77 \li \l{Custom Material Editor}{Custom Material Editor}
78 \li \l{quick3d-lightmap}{Lightmaps and Global Illumination}
84 \li \l{Qt Quick 3D - Introduction}{Introduction}
85 \li \l{Qt Quick 3D - View3D Example}{View3D with Multiple Viewports}
86 \li \l{Qt Quick 3D - Lights Example}{Lights and Shadows}
87 \li \l{Qt Quick 3D - Dynamic Model Creation Example}{Dynamic Model Creation}
88 \li \l{Qt Quick 3D - Principled Material Example}{Principled Material}
89 \li \l{Qt Quick 3D - Scene Effects Example}{Built-in effects and tonemapping}
90 \li \l{Qt Quick 3D - Quick Items Example}{Qt Quick Items within the 3D Scene}
91 \li \l{Qt Quick 3D - Custom Materials Example}{Custom Materials}
92 \li \l{Qt Quick 3D - Custom Shaders Example}{Unshaded Custom Materials}
93 \li \l{Qt Quick 3D - Custom Effect Example}{Writing Custom Post-Processing Effects}
94 \li \l{Qt Quick 3D - Custom Geometry Example}{Adding Custom Geometry from C++}
95 \li \l{Qt Quick 3D - Procedural Texture Example}{Adding Custom Texture Data from C++}
96 \li \l{Qt Quick 3D - Baked Lightmap Example}{Using baked lightmaps}
97 \li \l{Qt Quick 3D Examples and Tutorials}{All examples}
102 \li \l{Qt Quick 3D QML Types}
103 \li \l{Qt Quick 3D C++ Classes}
104 \li \l{Qt Quick 3D Helpers QML Types}
105 \li \l{QtQuick3D.AssetUtils QML Types}
106 {Qt Quick 3D Asset Utility QML Types}
107 \li \l{Qt Quick 3D Particles3D QML Types}
110\section1 Related Modules
116\section1 Licenses and Attributions
118Qt Quick 3D is available under the commercial license from \l {The Qt Company}.
119In addition, it is available under the
120\l{GNU General Public License, version 3}.
121See \l {Qt Licensing} for further details.
123Furthermore, Qt Quick 3D potentially contains third party modules
124under the following permissive licenses:
126\generatelist{groupsbymodule attributions-qtquick3d}