Paul Lemire
13 results
Parts One and Two of our three part Qt 3D series focused on drawing a 3D model and accepting user input, which are necessary building blocks of 3D applications. For the last part, we’ll look at how to use Qt 3D and frame graphs to create some really sophisticated looking graphics, including how to implement multi-pass rendering.
The ability to create a 3D applications is a skillset that is increasingly in demand as it plays a crucial role in advanced UX design, virtual reality, game development, and more. While developing a modern 3D program requires many disparate skills, there are frameworks that help the developer stitch it all together. Qt 3D, developed by KDAB, is one such framework. Our first Qt 3D whitepaper helped us understand the structure of a Qt 3D program - the nature of the entities, components and aspects, in the scene graph and frame graph. This paper shows how to incorporate those elements into a functioning program by examining how to receive user input and how to animate objects in a scene.
Learning to create 3D applications can be an overwhelming task even for seasoned developers because of all the new terminology, visual concepts, and advanced math. To simplify the job, many developers use a framework like Qt 3D, which KDAB developed and contributed to Qt. In this paper, the first of 3 whitepapers, you will learn about the structure of a Qt 3D program – the nature of entities, components, and aspects, and how those are incorporated into the scene graph and frame graph. The Qt 3D Basics series is intended to help developers create highly polished Qt 3D applications, including descriptions of the technology components, the rationale behind their designs, and straightforward examples.
Developers often spend significant time recreating designs or design changes that may not match the designer's vision. When 3D scene changes are involved, the back-and-forth updates become time-consuming and frustrating. Kuesa 3D simplifies this process - simply pointing to an updated glTF file location in your code instantly shows 3D scene changes in your application.
Integrating 3D models into applications traditionally requires developers to request parts from designers and manually reassemble them repeatedly. Kuesa simplifies this workflow, enabling fast demos and significant time savings without compromising 3D model quality by using designer-created scenes (models + animations) directly rather than manual reassembly.
With Qt 6 well on its way, it's about time we go over some of the internal changes and optimizations made to Qt 3D for the upcoming release. In a separate article, my colleague Mike Krus has already highlighted the API changes we've made in Qt 3D for Qt 6. This post will dive into […]
Kuesa 3D 1.2 release!
2 June 2020
Today, KDAB is releasing version 1.2 of the 3D integration workflow Kuesa 3D, built on top of Qt 3D. Kuesa™ 3D is a complete design-to-code workflow solution for 3D in real-time applications, centered around the open glTF™ 2 format, supported by Blender, Maya and 3ds Max. In short, Kuesa provides a workflow that simplifies work […]
This KUESA™ 3D example demonstrates skeletal animation imported from Blender via GLTF2, audio synthesis based on played notes, robot arm control with user-adjustable playback speed, seamless integration of design animations with live data input, and cross-platform compatibility running on both desktop and embedded targets.
Qt 3D makes heavy use of threads, as a way to spread work across CPU cores and maximize throughput, but also to minimize the chances of blocking the main thread. Though nice on paper, the last case eventually leads to added complexity. Sometimes, there are just one too many threads. In the past, we've been […]
For SIGGRAPH, KDAB has been working on a new Qt 3D based demo. We decided that instead of using C++, it would be interesting to try out PySide2 and harness Python to drive the application. The idea behind this demo is to do with data acquisition of a vehicle's surrounding environment. Once the data is […]
At the heart of every 3D application is geometry. Qt 3D-based 3D applications are no different and require the user to either generate geometry or provide asset files for Qt 3D to load. This blog post demonstrates how Blender and its Python API could be used to write an exporter that generates geometry for Qt […]
Qt 3D 2.0 introduces an Entity-Component-System architecture replacing traditional inheritance hierarchies. Features multi-threaded rendering with declarative frame graph configuration through QML, supporting advanced techniques like tessellation and deferred rendering. The extensible aspect system allows custom functionality integration while maintaining scalability across CPU cores.
Continuing our blog post series about the rewrite of Qt3D. Introduction For quite some time now, you’ve been hearing about Qt3D's Framegraph. Although a brief definition of what the Framegraph is was given in the previous articles, this blog post will cover it in more detail. After reading this post, you will understand the difference […]