Qt 6.0, the next major release, is getting closer. Besides bringing enhanced, designer-focused solutions for 2D and 3D, a number of components in the underlying graphics stack are slated to change in various ways. This will have an effect on many Qt developers' daily work, as some APIs are going to change, some get deprecated, while some new ones are about to be introduced. Relying solely on OpenGL is not going to be sufficient in the future due to a changing graphics API landscape on desktop, mobile, and embedded platforms. Qt Quick, Qt Quick 3D, and many bits and pieces in various Qt modules are expected to migrate away from the direct usage of OpenGL and GLSL shaders, in order to enable functioning on top of Vulkan, Metal, and Direct 3D, in addition to OpenGL. Applications featuring advanced graphics may also need to follow suit, and do certain changes, when migrating to Qt 6. The new approach to handling graphics, in combination with a new graphics and compute shader infrastructure, has started to roll out in form of tech previews already in Qt 5.14 and 5.15, and is expected to become the default way of doing things in Qt 6.0. In this talk we are going to walk through the concepts and practicalities around this work, while looking at some live demonstrations of the new graphics abstraction APIs, the shader conditioning tools, while discussing what all this means to application developers.
Speaker: Laszlo Agocs, Principal Software Engineer, The Qt Company
Laszlo is a senior software engineer at The Qt Company in Oslo, Norway. He is the maintainer of Qt's OpenGL support, the Embedded Linux platform plugins, and has recently worked on the Qt 3D Studio runtime as well. He is currently occupied with enabling Qt on Vulkan, Metal, and other graphics APIs, thus ensuring "Qt Everywhere" stays true in the future too.