Discover KDAB's unique expertise in Qt 3D, where they provide in-depth support for deploying, configuring, and optimizing 3D applications. As developers and maintainers of Qt 3D, KDAB offers tailored solutions to enhance your projects with advanced 3D features and flexible APIs in C++ and QML, ensuring high-quality graphics and user experiences.
Overview Qt 6 is nearly upon us. While this has not been addressed by other publications, Qt 3D is also introducing a number of changes with this major release. This includes changes in the public API that will bring a number of new features and many internal changes to improve performance and leverage new, low-level […]
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 […]
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 […]
Qt now provides a new module named Qt 3D. In this very short talk Giuseppe D'Angelo introduces some of the design ideas behind Qt 3D, discuss its use cases, and shows how simple it is to get 3D content in an application when using Qt 3D APIs. […]
Some of you may know that Qt 3D is going strong almost entirely due to the work of the KDAB team, led by Dr. Sean Harmer and Paul Lemire. You can read all about its near demise and ultimate rescue here - it’s quite a story, and started with the release of Qt 4. Now […]
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 […]
As an Easter treat here is a quick taster of some of the animation goodies coming to Qt 3D along with Qt 5.9. In this post we will briefly outline the steps needed to create a simple Qt 3D application and the assets it uses to produce this little animation: The basic steps are: Create […]
As was previously discussed, since the 6.0.0 release of Qt, Qt 3D no longer ships as a pre-compiled module. If you need to use it on your projects, try out the new features, or just see your existing application is ready for the next chapter of Qt's life, you need to compile Qt 3D from […]
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 […]
Up until now, Qt 3D was relying on OpenGL for rendering. With the upcoming Qt 6, Qt will come with a rendering abstraction layer (Rendering Hardware Interface or RHI) to target not only OpenGL but also Vulkan, Metal and DirectX. We are in the process of adding RHI support to Qt 3D. This will allow […]
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 […]
Having 3D scenes in your application is becoming a clear trend and is likely to become even more important in the future with the growth of Virtual Reality and Augmented Reality. So far Qt was allowing you to integrate with Open GL fairly easily, but managing the rendering code itself was still a very challenging […]
by Sean Harmer of KDAB Back in the days when Qt was owned by Nokia, a development team in Brisbane had the idea of making it easy to incorporate 3D content into Qt applications. This happened around the time of the introduction of the QML language and technology stack, and so it was only natural […]
KDAB is pleased to announce that the Qt 5.5.0 release includes a Technology Preview of the Qt3D module. Qt3D provides a high-level framework to allow developers to easily add 3D content to Qt applications using either QML or C++ APIs. The Qt3D module is released with the Technology Preview status. This means that Qt3D will […]
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.
Many new features were added to Qt 3D in the 5.10 release. One of them is the support for sprite sheets, contributed by KDAB, as provided by QSpriteGrid and QSpriteSheet and their respective QML items. One way of animating things is to switch between many different versions of the same object at different points in […]
Physics Based Rendering (PBR) is the latest and greatest trend in real-time rendering yielding much more visually believable images than the traditional Phong or ad-hoc lighting models. The underlying concept is that the shaders should use physical principles in the encoded models - chief of which are conservation of energy and the Fresnel effect. PBR […]
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.
Introduction Qt 3D has a flexible and extensible architecture that allows us to easily add our own new functionality to it without disrupting the existing features. The functionality of Qt 3D is divided among so-called aspects, each of which encapsulates a particular subject domain such as rendering, input, or animation. This short series of articles […]