Qt Quick 3D
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, we provide 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 is also possible to mix Qt Quick 2D content with 3D content.
Prerequisites
The QML Types can be imported into your application using the following import statement in your .qml
file:
import QtQuick3D
In addition to the base Qt Quick 3D Model, additional functionality is provided by the following module imports:
import QtQuick3D.Effects import QtQuick3D.AssetUtils import QtQuick3D.Helpers import QtQuick3D.Particles3D
Building From Source
When building from source, ensure that the modules and tools from the qtdeclarative and qtshadertools repositories are built first, as it is 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.
License 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:
BSD 3-clause "New" or "Revised" Licensee | |
MIT License |
Topics
- Qt Quick 3D Introduction Example
- Qt Quick 3D Graphics Requirements
- Qt Quick 3D Architecture
- Balsam Asset Import Tool
- Optimizing 2D Assets
- 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
Reference
- Qt Quick 3D QML Types
- Qt Quick 3D C++ Classes
- Qt Quick 3D Helpers QML Types
- Qt Quick 3D Asset Utility QML Types
- Qt Quick 3D Effects QML Types
- Qt Quick 3D Particles3D QML Types
Examples
- Introduction
- View3D with Multiple Viewports
- Lights and Shadows
- Dynamic Model Creation
- Principled Material
- 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++
- All examples