Talk: The Evolution of Accelerated 2D and 3D Graphics in Qt
Qt is a cross-platform application and user interface framework used in many industries to create applications, devices, or even entire platforms for a wide range of targets, from low-end embedded systems to high-end desktop PCs. While many are familiar with the Widget framework providing the traditional, desktop-style UI controls, with C++ classes like QPushButton, a lot of the development for the last 10 years has focused on modern, animation-friendly, hardware-accelerated UI technologies, such as, Qt Quick, a declarative, scene graph based, 2.5D toolkit. This got subsequently complemented by a number of ways to integrate 3D scenes, and recently expanded to include designer-oriented tools (Qt Design Studio, Qt 3D Studio) as well. Now that the development for Qt 6, the next major release, has started, the rendering technologies in Qt face their biggest changes and challenges since the Nokia days of Qt 4.8 and 5.0: the direct usage of OpenGL, the associated shading languages, and a number of hardwired concepts and patterns are all to be changed and replaced with graphics API abstractions and shader conditioning tools, thus introducing full support for Vulkan, Metal, and Direct 3D across the entire range of Qt UI technologies, including both the 2D and 3D offering.
In this talk we are going to take a deeper look at this journey, both from the framework's and from applications' perspective, complemented with live examples.