On 2/12/26 23:34, Even Rouault via QGIS-Developer wrote:
Hi,
High level 3D engines are certainly something to consider as well, and I have evaluated a couple of them. Overall my impression was that those are generally massive pieces of software with lots of new dependencies, that are generally not built for being embedded in existing applications. (e.g. Godot, O3DE) I would be happy to hear any recommendations for higher level 3D engines that would be easy to embed!

Not necessarily a recommendation, but there's also Ogre3D (https:// www.ogre3d.org/). In a project in a previous life (~15 years ago) we used it for flight preview.  If I remember well, there was no terrain tile loader shipped with the engine, but we plugged one. We didn't have lots of objects, a few OBJs, so not sure how that would behave with big models. At the time we used it through a GTK integration, but there's apparently a Qt one: https://ogrecave.github.io/ogre/api/latest/ class_ogre_bites_1_1_application_context_qt.html
Hi, you're right that 3D engines in a library form do exist, but sadly as far as I know they are mostly rather old. Ogre3D, Irrlicht, OpenSceneGraph are all products of the OpenGL 2 era, but nowadays our targets should be Vulkan and Metal, with very different paradigms.

There is OGRE-Next and VulkanSceneGraph (which even has some GIS-esque examples). I can't say right now how well they'd integrate with our existing Qt-heavy codebase or how much of their code we'd use, though. That's always a question when including a new C++ library.

Personally I think writing our own 3D view on top of a low-level API like QRhi or WebGPU is preferable to using a library that's not a good fit, but maybe there already exists one that would be a right for us, I just haven't seen it yet.

David Koňařík
_______________________________________________
QGIS-Developer mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to