Print at May 25, 2026, 10:08:54 AM

Posted by Tofeee at May 24, 2026, 9:49:01 AM
New hobby project: sh3d viewer in QML/QtQuick3D
Hi all!

I've recently started a new little project, mainly to discover what I could do with QtQuick3D and its interesting rendering capabilities.

As I spent quite some time on SH3D rendering the new flat I moved in, it was a natural target to try and render a SH3D file.

The initial hope is that it might open new possibilities for realistic rendering, even though it's yet up to par.

So here it is: https://github.com/Tofee/sh3d-viewer-qml
Building it requires Qt 6.11, mainly tested on Linux.
It is licensed under GPL v3, feel free to play with the code if you want, however you want.

There are still plenty of bugs in there, but it begins to be interesting IMHO.

Here's a little screenshot, from one of SH3D examples:


Note that the transparency of materials is currently not being correctly imported by QtQuick3D. I fixed the bug in Qt 6.11, but it will only be included in their next release. It was also backported to Qt LTS 6.8.

There are limitations in QtQuick3D regarding the number of lights that can be included in the rendered scene (max 8 for my GPU), I'm not sure yet how to overcome this limitation. QtQuick3D is mainly designed for dynamic scenes, whereas I'll only be rendering static objects, so there might be a way to work around the limitation (shadow pre-rendering or something like that).

This project will evolve when I have some free time here and there, so it could be a bit slow. Also the goal is to learn, so, no vibe coding.