Its been well over a year since I blogged here about Qt3D and its mission to bring Qt style to 3D programming with OpenGL. Qt3D started out as a Qt research project to bring Qt convenience and portability to OpenGL code, back in 2008/2009 - and it more than delivered on that promise with several of its classes finding their way into Qt's OpenGL API.
But Qt is all about Qt Quick now, which those of you who have seen our QML 3D demo will know Qt Quick has changed the Qt3D project from a set of handy C++ API's to an amazing 3D scripting environment. I spoke about Qt3D and also about our QML bindings at Dev Days last year and the response was huge. We also got the message from many of you that it was less exciting to have Qt style portability for OpenGL, now that OpenGL ES 2 was becoming a de-facto standard. This made the transition to Qt Quick for our front end even more important.
So we turned the corner and now I’d like to share with you our latest work: Qt Quick 3D! We have spent the last few months debugging, improving and packaging so that we could share with you. With Qt Quick 3D you have under the hood Qt3D with the power of C++ implemented 3D scene graphs, 3D asset loading (.3ds and other popular formats) but the developer API is all QML.
What can you do with Qt Quick 3D right now?
Create a QML application that features 3D content
Load models made in 3D studio max or Blender into your app
Add stock shapes such as cylinders and cubes
Insert inline shader code into the QML to create neat effects
Animate your scene with geometric animations such as rotate, translate and scale
Control your scenes with QML states, transitions and animations
Of course we could not put everything we wanted in, so we have plenty to work on - maybe you have some special requests? What is coming in the future:
Support for next version of QML (this will likely be the first cab off the rank).
Network awareness (at present URL's must be local file system only)
Qt Creator integration for the model loader (to make it easier to position your 3D asset into your Qt Quick 3D scene)
More sophisticated animations - skinning and morphing
Physics engine integration
The packaging and Qt Quick integration is still in development, but we are coming to you with this now in the hopes that we get some useful feedback on the packages themselves, and also the functionality of Qt Quick 3D so that we can improve it. Working with packages has been a new challenge for the Qt3D team, since we have had to turn our hand from coding C++ and QML bindings to battling with the debian packaging system, Symbian .sis format and the intricacies of Windows and other desktop installers. The bugs we know about are listed on our public bug-tracker, which is also the right place to report any new issues or to vote up the ones you'd like fixed first.