Qt 3D Render C++ Classes
The Qt 3D Render module contains functionality to support 2D and 3D rendering using Qt 3D. More...
This module is deprecated since 6.8. We strongly advise against using it in new code.
Namespaces
Classes
Detailed Description
The Qt 3D Render module provides an aspect, components, and other supporting types necessary to implement 2D and 3D rendering as part of the Qt 3D framework.
To use classes from this module, add this directive into the C++ files:
#include <Qt3DRender>To link against the corresponding C++ library, add the following to your qmake project file:
QT += 3drenderClasses, types, and functions are declared under the Qt3DRender namespace.
Overview
The Qt 3D Render aspect offers support for data-driven configuration as described in Qt 3D Render Framegraph.
Selecting a Rendering Backend
The Render aspect comes with two rendering backends.
- OpenGL backend (ES 2, ES 3.2, GL 2, GL 3, GL 3.2, GL 4.3)
- RHI backend (ES 2, GL, DirectX, Vulkan, Metal)
If you are targeting OpenGL exclusively and are using specific OpenGL features, you might be better off using the OpenGL backend. This is the OpenGL backend that Qt 3D exclusively used in the Qt 5 series.
For cases where you are not using specific OpenGL features and want to target different platforms that might have deprecated OpenGL, using the RHI backend is a better alternative.
To select your rendering backend, the environment variable QT3D_RENDERER is to be set to either "opengl" or "rhi". Defaults to the OpenGL backend.
When using the RHI backend, you can further force the internal RHI backend by setting the QSG_RHI_BACKEND to one of the following values:
- opengl -> RHI OpenGL backend
- gl -> RHI OpenGL backend
- gles2 -> RHI OpenGL backend
- metal -> RHI Metal backend
- vulkan -> RHI Vulkan backend
- d3d11 -> RHI DirectX 11 backend
If not specified, RHI will default to what it deduces to be the best backend for the platform.
Reference
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.