[QGIS-Developer] Add cpp plugin API for 3D view

Benoit D.-M. benoit.de.mezzo at oslandia.com
Fri Sep 4 07:29:23 PDT 2026


Hello everyone,

as you maybe know, we (Oslandia) are working on several 3D 
functionalities for our customers, that we aim to add to QGIS core. 
Among them are 3D editing capabilities.

Nevertheless, the specific QEP discussion [1] about editing, points 
toward a broad technical redesign that is out of scope for our current 
project, this is why we propose to ship the features within a QGIS C++ 
plugin to gather users feedback and contribute to the discussion on the 
3D UI.

In order to achieve this we propose adding accessors to the 3D view that 
enable the creation of an external QGIS plugin in C++, incorporating the 
relevant features. These new API accessors will be considered unstable 
API and not exposed in Python.
The changes are developed in the following PR: 
https://github.com/qgis/QGIS/pull/67298

Do you see any drawbacks to these changes?

Here are our main reasons why to carry out this development as a C++ 
plugin rather than a Python plugin:

  * the functions required for 3D interaction are currently not exposed
    in the Python API, and the changes needed for the Python binding
    represent a significant amount of work that is difficult to estimate
  * C++ plugins, even though their development is not encouraged, are
    still active
  * the features we want to test already partially exist as a C++ prototype

We are conscious that there are two major potential improvements for the 
3D view that would upgrade it to a similar level as other parts of QGIS 
(graphical modeler, reports, etc.):

  * make the 3D view window a real QWindow allowing for menus, proper
    toolbars, panels etc.
  * implement Python bindings

As they are largely exceeding the scope of our current project, we 
suggest that these improvements are targeted within the grant proposal 
program of 2027. We’d be happy to contribute development-wise but would 
be likewise happy to see it implemented by someone else.

Thank you in advance for your input.
Best,

[1] https://github.com/qgis/QGIS-Enhancement-Proposals/pull/367/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20260904/f5ad91bd/attachment.htm>


More information about the QGIS-Developer mailing list