New Qt Quick3D Packages Available

Published Monday September 19th, 2011
Posted in OpenGL, Qt Quick 3D

Since someone said “hey, let’s throw in some 3D stuff” back in 2009, what was initially a simple set of OpenGL bindings for Qt has grown to become a fully fledged Qt module.  The path from R&D to being a “real” part of the Qt world has been a long one, and so it’s with great happiness that we share our second Technology Preview of Qt Quick 3D.

This preview follows our earlier public showing back in May, and we have taken what we learned from preview and used it to make Qt Quick 3D more streamlined, more complete, and generally (in our opinion at least) better all around.

We would like to say a huge thank-you to the community for your constant and valuable feedback.  It is this interaction with users which has driven the development of Qt Quick 3D, and will continue to do so into the future.  In the last four months or so we have been fixing a lot of the bugs which you all reported to us, and have worked to stabilise and extend make the 3D framework across all of our key platforms.  Right now we support:

  • Symbian
  • Meego 1.2 Harmattan
  • Maemo
  • The usual suspects among desktop operating systems

Along with the bug fixes we’ve had time to throw in a number of new features, including:

Network Loading

Where you could once only load assets from the local file system, you can now load them directly from the internet.  Specifically you can specify a URL for a texture or 3D model, which will then be downloaded and created as a 3D object in your application automatically.

Data Model Support

While Qt3D could do some exciting things it seemed clear that the limitations of a static set of 3D objects was far from ideal.  As such we decided to support dynamic object creation.  It is now possible to create and destroy arbitrary 3D items on-the-fly.  This capability allows for a whole new set of use-cases to be fulfilled more easily than ever before.

Qt Resource File Support

Resource files have long been an easy and convenient way of packaging up application resource files such as images for ease of distribution.  This excellent legacy led us to support proper loading of 3D assets from .qrc files.  Using resource files you can now package up 3D models, textures, QML files… in fact pretty much anything Qt Quick 3D supports, and load it from your app.

So, having whet your appetites for more 3D goodness, here are the precompiled libraries and examples for Qt Quick3D:

While you’re at it, don’t forget to check our the latest tutorial contributed by a community member.

We look forward to more feedback, and hope you enjoy the latest iteration of Qt Quick 3D.

Do you like this? Share it
Print this pageEmail this to someoneShare on LinkedInShare on Google+Share on FacebookTweet about this on Twitter

Posted in OpenGL, Qt Quick 3D


Scorp1us says:

Haha, I was just about to install Qt3D…

Is there any win32/64-mingw love? I don’t have msvc.

When will this be available via the update tool?

Danny Pope says:

The MinGW build of Qt Quick 3D is a secondary focus for the team – msvc is freely available (express edition), and is generally the preferred toolchain.

As for the “update tool” I wouldn’t hold your breath for any changes in the immediate time-frame, though as a module of Qt it’s safe to say that in the future this may well change.

Sylv says:

Thanks for the work done.
Are all the QtQuick3D bug supposed to be fixed for this TP2 resolved? On Jira, all these bug are still unresolved.
It should be great to get the debug versions of this Technical Preview (Gitorious is down).
Anyway thanks you.

Hyde15 says:

It always hurts a bit when I read something like “The MinGW build of Qt Quick 3D is a secondary focus for the team – msvc is freely available (express edition), and is generally the preferred toolchain.” Why do you ship it with SDK then? At the very least, the installer/maintenance tool should have something like “Warning: using this toolchain is not preferred” in the mingw toolchain descriptions.

smoggy says:

Mingw Should be the favorite. It’s free and allow cross platform(linux->windows) compiling and development. It also can skip the compiler DLL_IMPORT and DLL_EXPORT stuff that is needed in windows.

Danny Pope says:

For those of you concerned about the lack of mingw packages, please don’t misconstrue my meaning. The lack of mingw packages for Qt Quick 3D doesn’t reflect a lack of mingw across the board in Qt. With the multiple devices being supported the choice of installers becomes one of available resources rather than strictly technical merit. Note the absence of Mac packages also. This is not to suggest Qt Quick 3D doesn’t work on Mac, but rather that our preview is exactly that: a preview – a constrained glimpse. Feel free to grab the source and build on your platform/toolchain of choice : if you prefer mingw then we encourage you to build with it, in fact we hope you will so that we can hear feedback. Leading up to this iteration we had a choice: fix bugs and add functionality, or use our time setting up a packaging system and testing packages across everyone’s favourite systems. Ideally we’d love to have had mingw installers too, and given the comments here we’ll certainly take it into account as a packaging candidate in future. Thanks for the responses, and we urge you to give Qt Quick 3D a try from source if your preferred toolchain doesnt have pre built binaries here. Cheers.

Thomas Senyk says:

Although I’m not offended at all, I was confused to read that I’m a community member now ;)

Karl Svec says:

The older Qt/3D research branch had support for 3D mouse devices (e.g. 3DConnexion SpaceNavigator) on the desktop. Are there any plans to merge this functionality into the newer Qt Quick 3D? Perhaps into Qt proper (4.8 maybe)? I’d hate to see that (very useful!) code fall by the wayside.

Anyway, keep up the good work!

SABROG says:

I agree with Hyde15. If we can build projects with MinGW, then you (trolls) may count for more feedback from part of community g++ lovers.

SneakyC4 says:

Qt3D builds fine with mingw. Appart from mouse3D which I didnt succeed to make !
All the examples were running nice and it was 9 month ago last time I tried.
So I imagine now shouldnt be too difficult to get your mingw Qt3D set.

Scorp1us says:

Ugh. I installed the msvc Qt to C:qtmsvc… and the installer for Qt3D told me to use C:qt4.7.4 which is my mingw, but the FPS demo worked. Now i’ve got some wonky configuration to sort through.

I am very proudly MS-free, aside from the OS and there’s nothing I can do about having to support that platform. I don’t get how mingw is not preferred when it more closely resembles linux-gcc. I just feel betrayed.

Danny Pope says:

Once again, in case there has been some misunderstanding, you’re not constrained to use msvc if you don’t want to. Feel free to download the source. Compilation can easily be performed with creator and mingw in just a few minutes.

Patrick Burke says:

Building for mingw/mac:

* Take a nap while you wait for the Qt SDK to update to the latest version.
* Download the .zip (windows) or .tar.gz (mac) file from the Linux source package link above (what can we say, we’re biased.)
* Unpack the file with your program of choice.
* Double click the file.
* Select the appropriate combination of desktop/qt-version/mingw(or whatever) and debug/release.
* Build.
* Run robo_bounce or lander and notice that they seem to work.

The default build is setup for lazyness of development to automatically deploy all headers/libraries/demos into the relevant Qt directories (which may cause problems on Linux, but not on windows/osx where the QtSDK seems to deploy all the files in user modifiable directories). So once you compile it once, you should then be able to build your applications assuming it’s there.

Unfortunately creating and maintaining packaging is a massive overhead for our small team (four programmers plus one QA), so whilst we can maintain the code working on, umm, six or seven different platform/compiler combinations it’s taking a lot longer to get all our packaging files to support every combination we can compile on.

sarasmit says:

@Sylv – Now I’m back from my (far too short) holiday after the release, planning will begin for our next cycle – leading up we hope to a 1.0 release. Or possibly 5.0, depending on how we fit in with Qt, now that we’re an “Add-On Module” for Qt5. We’ll be going through the bug-tracker and making those bugs which didn’t make it into this round scheduled for 1.0, or otherwise dealt with. Qt5 is a big deal and it sucked a lot of developer cycles that were not really visible in this release, so we’re hoping to build on that work to clean up a lot going into the next release.

@Karl Svec – regarding the 3D mouse support, we did not get any feedback on that as an important item. Since our key platforms include several mobile devices none of which have 3D mice, its not been something that has gotten a lot of traction. Another issue is that since it relies on very platform specific USB driver code it really is something that belongs in a new project, something separate to Qt3D in my view. I’d be interested to hear about your use cases, and what platforms you use your 3D mouse on so we can make some plans about how to use that code.

@SneakyC4 – if you’re building with the mouse support then – as @Karl Svec points out you’re using our research branch which is lagging a long way behind the main Qt Quick 3D project. If you own a 3D mouse and want to use that, then yes you’ll need that branch, otherwise its probably a good idea to use the new repo.

@Thomas Senyk – thanks again for the fantastic tutorial, and sorry for the confusion! I must admit that in our little merry band of core Qt3D devs we tend to think of everyone as community members, even those who work in our same company. Please think of it as a compliment – we think we’re lucky to have the best community of any Qt module. :-)

I am currently looking into a career change and this post helped to see another aspect of the industry. I appreciate your article.

Commenting closed.

Get started today with Qt Download now