Qt 3D, being a retained mode high level graphic API abstraction, tries to hide most of the details involved in rendering the data provided by applications. It makes a lot of decisions and operations in the background in order to get pixels on the screen. But, because Qt 3D also has very rich API, developers […]
Blog Archives
Qt 3D Synchronisation Revisited
As mentioned in the previous article in this series, Qt 3D 5.14 is bringing a number of changes aimed at improving performance. Most people familiar with Qt 3D will know that the API is designed around the construction of a scene graph, creating a hierarchy of Entities, each of them having having any number of […]
New in Qt 3D 5.11: Generalized Ray Casting
The 5.11 release of Qt 3D is mostly about speed and stability but it also introduces a number of new features. One of them is generalized ray casting which can be used to find objects intersecting a 3d ray. Object Picking Available since 5.6, QObjectPicker can be used to detect mouse interactions with an entity. […]
KDAB’s City Lights Display with Qt 3D Qt 3D put to novel use to implement a deferred rendering pipeline
The City Lights demo is an example of Qt 3D being put to novel use to implement a deferred rendering pipeline. With OpenGL, the number of lights you can show on a screen, also affecting objects in a scene, is limited by the need to use a forward renderer. Using Qt 3D, the geometry considerations […]
Integrating OpenGL with Qt Quick 2 applications (part 2) Implementing overlays and underlays with the Qt Quick 2 renderer
In the last blog post we gave a very high level introduction to the Qt Quick 2 renderer. We also showed how various signals are emitted by the renderer during the synchronization and rendering steps. In this blog post we’re going to discuss those signals and show how they can be used to implement overlays […]
Integrating OpenGL with Qt Quick 2 applications Part 1
This talk will introduce you to various effective strategies of drawing raw OpenGL content inside a Qt Quick 2 scene. After a brief introduction to how the Qt Quick 2 renderer works, we will see the APIs in Qt 5.6 that allow us to integrate existing OpenGL code and QML. One of the foundation pillars […]
Writing custom Qt Quick components using OpenGL Kevin Funk
Qt Quick and QML provide an easy way to rapidly develop customized, reusable components entirely within QML. As these components grow in complexity, performance and maintainability often suffer, a drawback that is especially noticeable on low-powered embedded and mobile devices. In addition, some specialized components simply cannot be implemented by combining existing Qt Quick items […]
Refactor Your OpenGL Legacy With Style QtCon presentation by Kevin Ottens
Using OpenGL code with Qt is a long love story… long enough that there might be skeletons in the closet. Indeed, the OpenGL code of your Qt application could have been written before the modernization of the OpenGL API to exploit better GPUs. In this talk, we will walk through a technique to help refactor […]
Physically Based Rendering (PBR) in 10 minutes Understanding a new rendering model for realistic and consistent graphics
If you happened to be at the NVIDIA GTC conference last week, you may have seen a Qt demo we developed showing a Dodge Viper in the Toradex booth. If that Viper looked especially cool, that’s partially because it was displayed using Physically Based Rendering (PBR). Alright… what exactly is PBR, and can I use it in my […]
Nine Steps to Vulkan Literacy What the powerful new 3D graphics API can bring to your applications
No, this isn’t about Star Trek. If you’ve accidentally stumbled onto this blog to learn about the language of Spock’s homeland, try here instead. Vulkan (spelled with a “k”, not a “c”) is a powerful new 3D graphics API from the Khronos Group, the same consortium that developed its spiritual predecessor, OpenGL, and other related […]