SEARCH FINANCIAL SERVICES INFRASTRUCTURE SECURITY SCIENCE INTERVIEWS

 

     

Qt 3D Studio Debuts

December 07, 2017

Qt 3D Studio is a new 3D design and development tool for all major industries, including the automotive, healthcare and industrial automation sectors. Enabled by the contribution of the NVIDIA DRIVE Design Studio into the Qt ecosystem, Qt 3D Studio provides a 3D user interface (UI) authoring system that caters to the technology requirements of both software developers and graphic designers.

With the onset of 3D technologies across a wide range of industries, businesses and developers seek innovative 3D design tools to create the next generation of embedded devices, such as digital cockpits, medical devices, clinical wearables, smart homes and many more. Qt's cross-platform software and device development framework, when paired with a state-of-the-art 3D human-machine interface (HMI) authoring system, empowers designers and developers to easily collaborate and innovate in the world of 3D technology.

The primary features of Qt 3D Studio include:

•Real-time editing of the user interface (UI): Fast iterations on desktop and target hardware allows designers to select the best graphically capable hardware to match your UX vision early in the development process.

•Powerful 2D/3D UI authoring technologies: Developers can leverage Qt's libraries to easily combine 2D and 3D UIs, using one code to develop across desktop, embedded and mobile devices.

•Open architecture: Qt 3D Studio offers a plugin-based architecture for rendering, input, materials and effects with easy access to all source code.

"Qt 3D Studio opens the doors to the development of cutting-edge and visually immersive user interfaces," said Lars Knoll, CTO of The Qt Company. "As 3D UI design becomes increasingly integral to the development of today's screens and devices, designers and developers can now work hand-in-hand to meet this growing need and drive innovation in the automotive, healthcare and industrial automation industries."

Qt 3D Studio is now generally available and is fully supported with Qt 5.9 and Qt 5.10.

Qt;s Lars Knoll said:

I’m happy to let you all know that Qt 5.10 has just been released. Qt 5.10 comes with a ton of new functionalities that I’m thrilled to talk to you about.

Before we dive into all the great new features of Qt 5.10, I want to talk to you about another exciting new addition to Qt being released today.

Qt 3D Studio

As the name suggests, Qt 3D Studio is a graphical editor used to create of 3D user interfaces and is derived from the NVIDIA Drive Design product that NVIDIA contributed to Qt earlier this year.

Qt 3D Studio consists of both a runtime component that is run in your application and a graphical design tool to design and create the UI. While the tool is a standalone application, the runtime can easily be integrated with the rest of Qt.

Qt 3D Studio will work with both Qt 5.9 and 5.10. The runtime and the 3D Studio application are both available under commercial and GPL licensing. For more details, please have a look at the separate blog post about it.

qt3dstudio_floorplan_preview

Qt Qml, Qt Quick, and Qt Quick Controls

A lot of exciting new things have happened in this area. Qt Quick has now gained a plugin that allows placing arbitrarily shaped items into the scene. Have a look at the blog post and documentation for more details.

shape_tiger

The new pointer handlers are the next big new feature in Qt Quick. This is a large step forward for Qt Quick that significantly improves how to handle many more complex multi-touch use cases. Instead of using Mouse- and TouchArea to handle those input events, you can now attach handlers for different types of pointer events to any item. Support for this is still in technology preview. Please have a look at the blog post and documentation for all the details.

On top of that, Qt Quick gained a larger amount of smaller enhancements. Chief among them the support to directly load ETC1 and ETC2 compressed textures, multisampling support for layers and some properties to tune font handling.

Qt Quick Controls 2 has also received many new functionalities. First of all, there are now two new styles available. One is an image-based style that makes it very easy to use your own artwork to create a custom look and feel. The other one, called Fusion style, gives a platform agnostic, desktop-oriented look and feel. Those styles also support propagating palettes.

Left: Imagine style - Right: Fusion style

Left: Imagine style – Right: Fusion style

We’ve also added Action, ActionGroup and MenuBar items. Outside of MenuBar, Actions are also supported in buttons, delegates, and menus. In addition, we added numerous smaller features to existing controls.

Qt Qml finally supports declaring enums in QML and dynamically retranslates all strings on language changes.

Graphics

A massive new feature in the graphics area is a new QPA plugin that allows streaming a full Qt User Interface to any WebGL enabled browser. You can find details in this blog post.

On the OpenGL side, QSurfaceFormat can now be used to request sRGB-compatible framebuffers, and the full set of the OpenGL ES 3.2 API is now available across platforms through QOpenGLExtraFunctions.

Qt 3D

Thanks to our friends at KDAB, Qt 3D has also gained a couple of new features. There are new node types that can be used in frame graphs, such as a proximity filter and a framebuffer blit. We now have support for Shader graphs that enable the creation of shaders from a graph based description, a technology preview of a skeletal animation system and a Scene2D Qt Quick element, which simplifies embedding Qt 3D content in a Qt Quick Scene.

Apart from that, the focus on Qt 3D development is now slowly shifting from developing all the required features to improving performance and memory consumption. Some of the results of that effort can be seen in the following blog post.

Qt 3D will also become much more important for Qt moving forward. We are currently working on basing the runtime for Qt 3D Studio on top of Qt 3D in order to unify the architecture for all our 3D related APIs and tools.

Qt Core and Network

Qt Core now has a brand new QStringView class, that is conceptually similar to std::string_view. For the moment, it’s still missing some const functions from QString, but that will get finalized for Qt 5.11.

Qt Core also received a new QRandomGenerator class that provides a high-quality random generator and access to seedless random numbers generated with hardware or operating system facilities. There’s now also a set of explicit big/little endian data types (qint16_le, etc), and a KeyValueIterator for our associative containers that provide STL compatible iteration semantics over those containers.

Qt Network now supports OpenSSL 1.1, stores HSTS (HTTP Strict Transport Security) policies in a persistent way in QNetworkAccessManager and has implemented the h2c protocol upgrade used by non-SSL HTTP/2.

Qt Widgets

We have added a couple of smaller features, such as QWidget::createWindowContainer() on Android, enabling QOpenGLWidget for rendering and grabbing offscreen content, adding a tabStopDistance property in QTextOption and QTextEdit and an API for better selection handling to QLineEdit. QDockWidgets can now be dropped side by side.

Additionally, a large set of bugs have been fixed in this module for Qt 5.10.

Embedded functionality

While most of the items above improve our overall offering, both for application development and device creation, we also have some items that focus on the embedded side.

The Qt Virtual Keyboard has gained support for many new languages and handwriting support for Arabic, Farsi, Chinese, Japanese and Korean.

A brand-new version of the device emulator is coming with Qt 5.10. It now supports multiple screens, multitouch and has received support for plugins. Have a look at the separate blog post for details.

On the Boot2Qt side, we updated our device images to Yocto 2.3 (Pyro), giving you a more up-to-date Linux to base your work upon.

Qt for Automation, containing the KNX and MQTT modules, is now also available in Qt 5.10.

Other modules

We updated Qt WebEngine to use Chromium 61. You can now pause and resume downloads and start them programmatically.

On Windows desktop, you can now use the UWP backend for Qt Bluetooth on Windows, and on X11, the Qt X11Extras module now allows peeking into the event queue.

Finally, Qt Network Authorization (providing support for OAuth 1 & 2) and the text-to-speech support in Qt Speech graduated from technology preview to being fully supported in 5.10.

For more details, have a look at the new features page on the wiki, our dedicated Qt 5.10 web page and our ChangeLog.

I hope you will enjoy the release, and I’d like to thank everybody who has contributed to making it happen. As always, you can get this release from your Qt Account page or our download section on the web.

Terms of Use | Copyright © 2002 - 2017 CONSTITUENTWORKS SM  CORPORATION. All rights reserved. | Privacy Statement