If we go back in time exactly a year, one of the most promising features of Qt 5.0 was the addition of Qt3D as part of Qt 5.0’s Essential modules. Along with QtQuick 2 and its new scenegraph, Qt3D was supposed to change the world of UI by allowing developers to create 3D content through Qml.
At the same time last year, with a group of other students we decided to develop a new UI concept based on 3D rooms you can navigate through, Tepee3D. We considered a few other technologies but Qt3D and our previous experiences with Qt and QtQuick lead us to make the decision of basing our entire project on the Qt Framework. In addition, there were a lot of posts, blogs and videos demonstrating what Qt3D made possible, thus encouraging us in that direction even though the module was still in development.
Unfortunately a lot can change in a year…
First of all, Qt 5.0 was released a few months later than expected and the main disappointment came from the fact that due to the lack of contributions, the Qt3D module was removed from the release.
Because Digia acquired Qt from Nokia, a lot of employees working on Qt3D left or were assigned to different tasks. Eventually, more bugs were reported than resolved and the module was the only burden weighing on the release of Qt 5.0. What was bound to happen happened and Qt3D was left as a side plugin. With no maintainer, an evident lack of contributions and many bugs to solve to make it usable….
I did try to contribute in my own way, trying to solve bugs, ask questions about how some part of the code should behave and so on… Unfortunately, that did not generate the fuss I had hoped for and the future of Qt3D was uncertain.
Hopefully last December, two employees of KDAB, one of the greatest contributors of the Qt-project, Sean Harmer and James Turner volunteered to assume the maintenance of Qt3D.
They seem to have taken control of the module and hope they will be able to integrate it in the 5.2 release of Qt that should go out some time at the end of this summer.
Meanwhile, for the sake of our project, I’ve created a fork of the Qt3D module so as to allow my fellow teammates to still work on the project while waiting for the official release. I was able to solve a few bugs and implement some new features.
I was able to solve the picking issue in Qt3D 2.0, as well as the loading of Item3D through Qml Loader(s) and Repeater(s) elements. Feel free to take a look or use it. http://gitorious.org/tepee3d-qt3d
I will present Tepee3D in my next post and the current state of its development, the problems we encountered, the tools we use and many more things which I hope might make someone’s life easier at some point.