Lars Knoll

Introducing Qt 3D Studio

Published Monday February 20th, 2017
39 Comments on Introducing Qt 3D Studio
Posted in Biz Circuit & Dev Loop, Qt 3D Studio

Over the last years, a lot of work has happened to make it easier to use 3D technologies in and with Qt.

I’m now extremely happy to let you know that we can now do a huge step forward towards providing competitive, designer friendly tooling as part of our offering in the future.

NVIDIA did one of the largest contributions ever to Qt. They chose to contribute the whole NVIDIA DRIVE™ Design Studio, a designer friendly 3D UI authoring system, to Qt. NVIDIA DRIVE Design Studio is a well proven product that has been used for production systems in many industries.

The contribution consists of several hundred thousand lines of source code. It consists of a runtime component, designer friendly tooling and a Qt integration. This will allow us to bring state-of-the-art 3D tooling to the whole Qt ecosystem. As the title of this blog post suggests, we do even have a name for it already: Qt 3D Studio.

Have a look at the video below to see it in action:

Our goal is to integrate this closely, so that designers can easily create 3D user interfaces that are easily integrated with the rest of the application written in Qt. The UIs can then also easily be extended using Qt Quick or Qt 3D.

Qt 3D Studio is not meant to replace any of our existing UI technologies (Qt Widgets, Qt Quick or Qt 3D), but will nicely complement them.

There is still a lot of work left to closely integrate the code base and especially the runtime with the rest of Qt. As an example, the UI for the tool is currently using MFC in some parts, so it only works on Microsoft Windows. We are also working on ensuring that the tool and runtime will be fully cross-platform and work on all operating systems and GPUs supported by the rest of Qt.

 

Qt 3D Studio will be available under both open-source and commercial licensing terms, and will be developed in the open, just as the rest of Qt. But as we have only just received the contribution from NVIDIA, it’ll take use a bit to sort through the source code and mold it into a form that we can publish. So please bear with us for a little while, we’ll keep you posted on all progress.

We’re all extremely excited about this contribution to Qt, and I’d like to close this blog post with a big ‘Thank you!’ to NVIDIA.

Do you like this? Share it
Share on LinkedInGoogle+Share on FacebookTweet about this on Twitter

Posted in Biz Circuit & Dev Loop, Qt 3D Studio

39 comments

TheCodingEric says:

Really impressive! Way to go!

moonshadow says:

One framework to rule them all!
C++ master race

guessi says:

Ok, that was random. Does it work well on AMD and Intel GPUs? If so, many interesting things can happen not only in desktop area but, um, Blender competitor can born 🙂

@guessi: Yes, it works on any GPU supporting OpenGL ES 2.0. It does not require an NVIDIA GPU.

Mike says:

WHY ?!?!?! QT is a programming language… If you want 3D, leave it up to the experts. That is what their software is for. This is just plain stupid.

Alex says:

Dude, Qt is NOT a language, it’s a framework.

Shantanu Tushar says:

First of all, QT (QuickTime) is a multimedia framework. If you’re talking about Qt, its an application development framework which uses the C++ programming language. Qt is _not_ a programming language 😛

Vincas says:

Is it implemented on to op Qt 3D?

Makkonen Sami Makkonen Sami says:

Qt 3D Studio uses it own rendering i.e. it is not built on top of Qt 3D.

Petri J says:

Cool! It would be nice if they integrated it to Qt in such a way that people have a choice to use their own rendering engine.

d3fault says:

I’m a little confused about what this does. It’s a GUI to create interactive 3d scenes/GUIs, which then saves to a binary (proprietary? or psbly json?) format, which can then be imported and displayed via QtQuick/QML and/or Qt3D functions?

My initial impression, after reading only the blog post’s title, was that it generated all the Qt 3D (v2) C++ code necessary for a given scene. That would be neat.

Pasi Keränen says:

Sorry if the naming throws you off there, Qt 3D Studio is a separate editor + engine combination for now.

Et_DrurHekunrin6 says:

Maybe the naming needs fixing then? Especially since it doesn’t look like a generic tool but like something meant for automotive UI mostly. Maybe keeping the “Drive” name would have helped? “Qt Drive Studio”?

The new tool is useful for anyone who needs to create 3D user interfaces. It is not specific for automotive, although it is very well fit for the needs of that industry. The technology has initially been developed for 3D UIs in games and is certainly fit for multiple industry needs.

Nucky says:

This is awesome! I used Qt a few years ago, I am excited Qt is keep moving forward!

Tim Blechmann says:

i’m wondering about the scalability: is it possible to add many Studio3d items to a qtquick scenegraph without performance impact? or will it render to a different FBO or even in a different OpenGL context (im my experience those are typical bottlenecks when combining different rendering techniques inside the qtquick scenegraph)

Pasi Keränen says:

Yes, you can add multiple scenes to a Qt Quick scene, each loading from separate resource file made in Qt 3D Studio. Rendering happens via FBO using own OpenGL context as that is the most efficient way of handling this. Just like with any 3D engine the state changes Qt 3D Studio runtime does are complex that it’s hard to justify usage of same context as Qt Quick.

Pasi Keränen says:

Sorry, have to correct myself.. actually it uses the same context as Qt Quick with custom state save/restore mechanism.

Pasi Keränen says:

One further note, we want to enable users to also render directly to the screen from Qt 3D Studio content as for some e.g. embedded use cases that is the most efficient use of resources if you just need the 3D UI in your display.

Lars Viklund says:

Huh, look at that. Autodesk doesn’t seem to hold any trademarks for “3D Studio”, just “3DS”.
I had a perfectly fine “you’re gonna get sued” comment lined up an all 🙁

Vel says:

Are you sure that we need more different UI kinds for Qt? What’s wrong with QtQuick/QML? It was already designed for accelerated graphics…

Pasi Keränen says:

Qt Quick is still great, but it’s 2D. There are use cases where e.g. you want to get a look and feel of a real world object in your UI. Or if you just want to add some wow to your UI with interactive 3D content. Also we’re intently looking at the rising of augmented and mixed reality that will require probably both 2D and 3D interactive UI’s to populate the space around you.

Nuno Nunes says:

Ok. This is very nice but only 10% of my customers have an Nvidia graphics cards. This will work on others ??

Makkonen Sami Makkonen Sami says:

Yes, it does work with others as well.

n says:

You should mention older and more commonly known names “NVIDIA UI Composer” and “Anark Gameface”.
https://github.com/Phrogz/RUIC/commit/fc14335436bc9798510e04365b6c42af1fc3d5c5
http://www.nvidia.com/content/nvision2008/tech_presentations/Automotive_Track/NVISION08-UI_Composer.pdf

Pasi Keränen says:

Thank you for pointing this out, yes we should mention those as well. Especially as those give you the length of time the tool and engine have been in development. Meaning both are quite robust and tuned for UI (interactive 3D) use.

Murazaki says:

Guys, put that in QML and add some shaders/blueprint interface, coupled with the Qt State Machine system, then we will have a decent competitor for Unity/UE4 😀

Murazaki says:

Can we have access to this as of today ?

bnogal says:

i believe this “editor” suck and is only thought to make car’s displays. (with suck means, we cant use for much more)

If this editor could be used to edit Qt3D QML code and we could have animations, physics (bullet), etc… then it would be a huge step in 3D content creation.

Qt mixing C++ and QML works just great, expand that!

Makkonen Sami Makkonen Sami says:

We see that there is a great demand in automotive for 3D in user interfaces but of course this tool is not tied only to car user interfaces. We see great opportunities for this tool in several industries and use cases. Of course this tool is a part of the 3D content creation tool chain and not meant to replace e.g. 3D design/CAD tools. Qt 3D Studio and Qt Quick are great technologies for creating and mixing animated, interactive 2D and 3D content.

Makkonen Sami Makkonen Sami says:

Qt 3D Studio is not yet available. We’ll keep you posted on the availability as soon as we have been further information.

6thC says:

Is this just an announcement for now? I can’t find a link or an entry in the maintenance tool.

Makkonen Sami Makkonen Sami says:

We have just received the code and there are several steps we need to take before we can integrate into the installers. This was a heads up what’s coming and we’ll keep you posted on the progress.

Rashiga says:

Hi! will this work with nVidia UI composer as well?

When will this feature be released to the public?

Thanks.

Makkonen Sami Makkonen Sami says:

This tools was earlier called NVDIA UI Composer and further developed under name NVIDIA Drive Design.

We are working hard to get this released as soon as possible but unfortunately we don’t yet have a release date yet.

Dravid says:

Waiting for this for a long time i knew qt was working on this but this is awesome and worth the wait
is it open source?
is it along with qtcreator?
when will it be available for usage ?

Pasi Keränen says:

Qt 3D Studio will be available under both commercial and GPL license. We’ll start with a separate tool, but are already looking in to how we can integrate the tool in to Qt Creator. We’re working through the steps to get this out there as soon as we can.

Dravid says:

is there any solid release date or day or month when we can see this

Nils says:

What are the plans for the graphical editor for SCXML? Does “3D Studio” include also Nvidias editor (as explained in this paper: http://phrogz.net/files/Developing%20User%20Interfaces%20using%20SCXML%20Statecharts.pdf) or will you improve the current ScxmlEditor included in creator?

Commenting closed.

Get started today with Qt Download now