PySide6.QtQuick3D¶
- PySide6.QtQuick3D.QQuick3DGeometry.Attribute
- PySide6.QtQuick3D.QQuick3DInstancing.InstanceTableEntry
- PySide6.QtQuick3D.QQuick3D
- PySide6.QtQuick3D.QQuick3DGeometry
- PySide6.QtQuick3D.QQuick3DInstancing
- PySide6.QtQuick3D.QQuick3DObject
- PySide6.QtQuick3D.QQuick3DRenderExtension
- PySide6.QtQuick3D.QQuick3DTextureData
- PySide6.QtQuick3D.QQuick3DGeometry.TargetAttribute
Detailed Description¶
Provides API that lets you define 3D items using QML.
Qt Quick 3D provides a high-level API for creating 3D content and 3D user interfaces based on Qt Quick. Rather than using an external engine, which creates syncing issues and additional layers of abstraction, Qt Quick 3D provides extensions to the existing Qt Quick Scene Graph for spatial content and a renderer for that extended scene graph. When using the spatial scene graph, it’s possible to mix Qt Quick 2D content with 3D content.
Qt Quick 3D also provides for XR and VR applications with Qt Quick 3D Xr .
Using the Module¶
QML API¶
The QML types of the module are available through the QtQuick3D
import. To use the types, add the following import statement to your .qml file:
The following module imports provide additional functionality:
C++ API¶
Using a Qt module’s C++ API requires linking against the module library, either directly or through other dependencies. Several build tools have dedicated support for this, including CMake and qmake.
Building with CMake¶
Use the find_package()
command to locate the needed module component in the Qt6
package:
find_package(Qt6 REQUIRED COMPONENTS Quick3D) target_link_libraries(mytarget PRIVATE Qt6::Quick3D)
For more details, see the Build with CMake overview.
Building with qmake¶
To configure the module for building with qmake, add the module as a value of the QT
variable in the project’s .pro file:
QT += quick3d
Building From Source¶
When building from source, ensure that the modules and tools from the qtdeclarative and qtshadertools repositories are built first, as it’s not possible to use Qt Quick 3D without these. Having qtquicktimeline available is strongly recommended as well, since keyframe-based animations will not be available otherwise.
In addition, some of the examples rely on Qt Quick Controls.
Module Evolution¶
Changes to Qt Quick 3D lists important changes in the module API and functionality that were done for the Qt 6 series of Qt.
Articles and Guides¶
Qt Quick 3D Introduction Example
Qt Quick 3D Introduction with glTF Assets
Qt Quick 3D Graphics Requirements
Qt Quick 3D Architecture
Balsam Asset Import Tool
Optimizing 3D Assets
Physically-Based Rendering
Using Image-Based Lighting
Anti-Aliasing Best Practices
Qt Quick 3D Scenes with 2D Content
Programmable Materials, Effects, Geometry, and Texture data
Build-time materials
Skeletal Animation
Morphing Animation
Instanced Rendering
Level of Detail
Custom Material Editor
Lightmaps and Global Illumination
Shadow Mapping
Qt Quick 3D Xr
Multiview Rendering
Examples¶
Introduction
View3D with Multiple Viewports
Lights and Shadows
Dynamic Model Creation
Principled Material
Built-in effects and tonemapping
Qt Quick Items within the 3D Scene
Custom Materials
Unshaded Custom Materials
Writing Custom Post-Processing Effects
Adding Custom Geometry from C++
Adding Custom Texture Data from C++
Using baked lightmaps
Demonstrates setting up a simple VR scene
Demonstrates controller input in VR
Demonstrates spatial anchors in VR
Reference¶
Qt Academy Courses¶
Licenses and Attributions¶
Qt Quick 3D is available under the commercial license from The Qt Company. In addition, it is available under the GNU General Public License, version 3. See Qt Licensing for further details.
Furthermore, Qt Quick 3D potentially contains third party modules under the following permissive licenses:
The module also provides QML types .