[QGIS-Developer] QGIS 3D: Move away from Qt 3D?

Martin Dobias wonder.sk at gmail.com
Wed Feb 4 13:17:20 PST 2026


Hi all

As you know, 3D map views in QGIS are based on the Qt 3D module. Since Qt
6.8 (released in Oct 2024) the Qt 3D module is marked as deprecated [1].
This does not mean that it will be removed anytime soon, but there's no
development planned by the Qt company. There has been very little
development in Qt 3D in recent years and little adoption within wider Qt
community.

A question naturally comes up - what should we do within the QGIS project?
Stay with Qt 3D or start moving towards something else?

At Lutra, we have started some internal discussions about this. Qt 3D does
its job, but we find it often over-complicated (e.g. framegraph,
entity-component-system scene representation) and under-documented. And
with the lack of direct access to graphics APIs we have accumulated various
workarounds and bugs that are difficult to fix.

If we wanted to switch to something else, there are lots of options: from
the very low-level wrappers around graphics APIs all the way to full blown
3D rendering engines for games.

At this point, QRhi [2] looks like an interesting option. QRhi is a part of
Qt GUI module and it is a relatively low-level abstraction on top of modern
graphics APIs (Metal, Vulkan, Direct3D). It is already being used under the
hood by Qt Quick and Qt Quick 3D (and optionally also by Qt 3D). It is kind
of semi-private API of Qt GUI module, but it is well documented and the API
has been quite stable despite the lack of source/binary compatibility
guarantees.

With a low-level approach like QRhi we would get a lot of control, at the
expense of having to roll out our own abstractions that Qt 3D provides
(e.g. camera, geometry, material, scene graph).

I would love to hear some thoughts from other QGIS devs about the possible
migration away from Qt 3D. If there will be consensus, we can then start
working on a QEP and prepare a more detailed plan.

Regards
Martin


[1] https://doc.qt.io/qt-6/whatsnew68.html
[2] https://doc.qt.io/qt-6/qrhi.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20260204/350dae04/attachment.htm>


More information about the QGIS-Developer mailing list