Qt 3D provides functionality for near-realtime simulation systems with support for 2D and 3D rendering in both Qt C++ and Qt Quick applications.
The functionality in Qt 3D is divided into the following C++ modules:
The following C++ modules are in still development but are available as technology previews:
For Qt Quick applications, Qt 3D provides the following QML modules:
The following QML modules are in still development but are available as technology previews:
For a C++ application that performs 2D or 3D rendering, collision detection, and handles user input, include the following directives of the modules' classes:
#include <Qt3DCore> #include <Qt3DRender> #include <Qt3DInput> #include <Qt3DLogic> #include <Qt3DExtras> #include <Qt3DAnimation>
To import the QML types into your application, use the following import statement in your .qml file:
import Qt3D.Core import Qt3D.Render import Qt3D.Input import Qt3D.Logic import Qt3D.Extras import Qt3D.Animation import QtQuick.Scene2D import QtQuick.Scene3D
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.
Use the find_package() command to locate the needed module components in the Qt6 package:
find_package(Qt6 REQUIRED COMPONENTS
3DCore
3DRender
3DInput
3DLogic
3DExtras
3DAnimation
)
target_link_libraries(mytarget PRIVATE
Qt6::3DCore
Qt6::3DRender
Qt6::3DLogic
Qt6::3DExtras
Qt6::3DAnimation
)
To configure the module for building with qmake, add the modules to the QT variable in the project's .pro file:
QT += 3dcore 3drender 3dinput 3dlogic 3dextras 3danimation
A Qt Quick application requires additional dependencies:
QT += 3dcore 3drender 3dinput 3dlogic 3dextras 3danimation qml quick 3dquick
The high level design and motivation for Qt 3D is described in the Qt 3D Overview. The Qt 3D Render offers support for data-driven configuration as described in Qt 3D Render Framegraph.
Qt 3D has the following support for platforms:
Changes to Qt3D lists important changes in the module API and functionality that were done for the Qt 6 series of Qt.
Qt 3D is available under commercial licenses from The Qt Company. In addition, it is available under the GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for further details.
Furthermore Qt 3D contains third party modules under following permissive licenses:
|
MIT License |
|
|
MIT License or Public Domain |
|
|
MIT License |
|
|
BSD 3-clause "New" or "Revised" Licensee |
As part of the free Business evaluation, we offer a free welcome call for companies, to talk about your requirements, and how the Felgo SDK & Services can help you. Just sign up and schedule your call.
Sign up now to start your free Business evaluation: