Le framework de développement d'applications multiplateformes Qt 6.11 introduit Qt Canvas Painter, d'importantes améliorations en 3D et de nouvelles fonctionnalités graphiques
Qt 6.11 est désormais disponible en tant que dernière version du framework d'applications multiplateformes dédié aux interfaces utilisateur graphiques et au développement d'applications. Cette mise à jour introduit Qt Canvas Painter, un nouveau module graphique 2D basé sur l'interface matérielle de rendu (Rendering Hardware Interface) pour un dessin accéléré par le matériel. Outre Canvas Painter, cette version apporte des améliorations significatives en matière de visualisation 3D. S'appuyant sur ces mises à jour, Qt 6.11 introduit de nouvelles méthodes pour créer des graphes et interagir avec eux, ainsi que Qt TaskTree, un module en préversion technologique qui propose une approche déclarative des flux de travail asynchrones en C++.
Qt est un framework de développement d'applications multiplateforme permettant de créer des interfaces utilisateur graphiques ainsi que des applications multiplateformes fonctionnant sur diverses plateformes logicielles et matérielles telles que Linux, Windows, macOS, Android ou des systèmes embarqués, avec peu ou pas de modification du code source sous-jacent, tout en conservant le statut d'application native avec des capacités et une vitesse natives.
Qt 6.11 est désormais disponible en tant que dernière version du framework d'applications multiplateformes dédié aux interfaces utilisateur graphiques et au développement d'applications. Cette mise à jour introduit Qt Canvas Painter, un nouveau module graphique 2D basé sur l'interface matérielle de rendu (Rendering Hardware Interface) pour un dessin accéléré par le matériel. Canvas Painter inclut des fonctionnalités avancées telles que l'anticrénelage réglable, les dégradés de boîte, les ombres, les motifs de grille, les pinceaux de shader personnalisés et les effets de couleur, qui permettent des workflows d'interface utilisateur visuellement riches et efficaces.
Outre Canvas Painter, cette version apporte des améliorations significatives en matière de visualisation 3D. Screen Space Global Illumination (SSGI) simule les rebonds de lumière en temps réel pour un éclairage plus réaliste, tandis que Screen Space Reflections (SSR) rend les reflets à l'écran à l'aide d'un raymarching basé sur les pixels. Les vecteurs de mouvement par objet permettent d'équilibrer le coût de calcul et la fidélité du rendu. Les utilisateurs de Qt Quick 3D bénéficient également de nouvelles options de personnalisation pour les passes de rendu. Grâce à ces trois améliorations, l'équipe Qt affirme que le framework Qt offre désormais « les mêmes capacités 3D qu'un moteur de jeu ».
S'appuyant sur ces mises à jour, Qt 6.11 introduit de nouvelles méthodes pour créer des graphes et interagir avec eux, ainsi que Qt TaskTree, un module en préversion technologique qui propose une approche déclarative des flux de travail asynchrones en C++. En définissant les flux de travail comme des recettes réutilisables, les développeurs peuvent automatiser la gestion des tâches de manière plus intuitive.
Cette version comprend également des améliorations du framework d'interface utilisateur, des capacités 2D supplémentaires, des mises à jour concernant le Web et la connectivité, ainsi qu'une intégration simplifiée de QML et C++.
Voici un extrait de l'annonce de Qt 6.11 :
Présentation de Qt 6.11
La version 6.11 du framework Qt est désormais disponible. Elle offre des performances améliorées, de nouvelles fonctionnalités et techniques en matière de graphisme, de connectivité et de langages, sans oublier une toute nouvelle approche du codage C++ asynchrone. Découvrez-la plus en détail.
Performances et productivité pour le rendu 2D : Qt Canvas Painter
Cette version introduit une nouvelle méthode moderne de dessin graphique 2D avec Qt : Qt Canvas Painter. Il s'agit d'un nouveau module doté de capacités de rendu graphique 2D impératif, s'appuyant sur l'interface matérielle de rendu (RHI) de Qt. L'accélération matérielle offre des gains de performances notables pour les graphiques de votre interface utilisateur, les benchmarks montrant des accélérations significatives par rapport au module précédent, le backend OpenGL de QPainter.
Qt Canvas Painter suit de près le contexte 2D familier de HTML Canvas, ce qui rend son utilisation rapide et facile et offre une productivité immédiate.
Outre les gains de performances et de productivité, ce nouveau module apporte de superbes fonctionnalités avancées. Celles-ci incluent l'anticrénelage réglable, les dégradés et ombres de boîte, les motifs de grille, les pinceaux de shader personnalisés et les effets de couleur, permettant ainsi de créer des interfaces utilisateur modernes et visuellement riches, ainsi que des workflows de dessin efficaces pilotés par le GPU.
Découvrez de quoi il s'agit dans cette vidéo de présentation d'une minute :
Améliorations apportées à l'un des meilleurs frameworks 3D
Qt a évolué pour offrir les mêmes capacités 3D qu'un moteur de jeu, tout en garantissant des performances élevées et constantes. Cela signifie que les interfaces utilisateur avec Qt Quick 3D fonctionnent de manière fluide, même avec des éléments, des effets ou des animations complexes.
Nouvelles techniques de rendu en temps réel : SSGI, SSR et vecteurs de mouvement
Alors que Qt 6.10 avait introduit des améliorations au niveau du baking des lightmaps, une technique utilisée pour modéliser l'interaction de la lumière avec les objets statiques, la version 6.11 propose désormais une alternative dynamique à cette technique. Le SSGI (Screen Space Global Illumination) est une technique de rendu permettant de simuler la façon dont la lumière rebondit sur les surfaces à l'écran sous forme d'effet de post-traitement, en réagissant aux changements en temps réel. Le SSGI a toutefois un certain coût en termes de performances, ce qui suggère d'opter pour le baking des lightmaps pour les cibles aux ressources limitées et plutôt pour le SSGI pour les interfaces utilisateur 3D riches, en particulier sur les applications moins sensibles aux performances.
Une autre technique de rendu en temps réel, nouvelle dans la version 6.11, est le Screen Space Reflections (SSR). Semblable au SSGI, elle utilise ce qui est visible à l'écran, mais pour le rendu des reflets, en effectuant un « raymarching » à travers chaque pixel et en les reflétant en conséquence.
De plus, grâce aux types SceneEnvironment et ExtendedSceneEnvironment, Qt Quick 3D prend en charge diverses techniques de rendu anti-crénelage des objets 3D. L'anti-crénelage temporel et le flou de mouvement sont particulièrement intéressants pour réduire l'aspect irrégulier des objets en mouvement. Avec Qt 6.11, nous ajoutons la génération de vecteurs de mouvement par objet, ce qui offre un excellent équilibre entre le coût de calcul et la fidélité du rendu.
Personnalisation avancée des passes de rendu
Pour les utilisateurs qui doivent aller au-delà du pipeline de rendu par défaut parce qu'ils ont besoin d'effets visuels avancés, de performances optimisées ou de l'intégration de techniques personnalisées, Qt Quick 3D offre désormais des options pour personnaliser les passes de rendu. De nouvelles API pour les calques et les balises permettent de spécifier quels éléments doivent être inclus dans différentes parties du pipeline de rendu, de les diriger vers différentes cibles de rendu et de contrôler les passes de rendu individuelles. Utilisez les matériaux existants, enrichissez-les avec des shaders supplémentaires ou remplacez certains aspects des matériaux. Toute cette nouvelle flexibilité est directement accessible depuis QML.
De nouvelles façons de créer et d'interagir avec des graphiques
En ce qui concerne les graphiques, voici un nouvel exemple Qt, le tableau de bord des éoliennes, qui montre à quel point vous pouvez créer et combiner de manière flexible des visualisations de données, allant de simples présentations 2D à des graphiques 3D complexes. Les graphiques sont également hautement personnalisables, que ce soit au niveau de leur apparence, de leurs étiquettes ou des interactions avec l'utilisateur.
Dans cet nouvel exemple, vous pouvez constater que les graphiques 3D prennent désormais en charge plusieurs axes. Utilisez différentes instances d'axe pour les propriétés rowAxis, valueAxis et columnAxis dans QBar3DSeries, ou pour les propriétés axisX, axisY et axisZ dans QScatter3DSeries et QSurface3DSeries. Nous avons ajouté plusieurs nouvelles propriétés aux différents éléments du module Graphs afin d'offrir un meilleur contrôle sur le rendu des graphiques, qu'il s'agisse de remplacer les couleurs de thème pour les axes individuels et les dégradés dans les graphiques en aires, ou de modifier les styles de ligne, de trait et de jonction dans les graphiques linéaires. Les étiquettes dans Bar3DSeries peuvent être personnalisées et positionnées de manière plus flexible, QDateTimeAxis peut prendre en charge un fuseau horaire et permet le panoramique et le zoom, et des propriétés telles que QSplineSeries::optimized et GraphsItem3D.cutoffMargin permettent un réglage plus fin.
Et si cela ne suffit pas, le nouveau type CustomSeries permet la mise en œuvre de graphiques entièrement personnalisés où un délégué défini par l'utilisateur rend chaque point de données.
Une approche déclarative du codage asynchrone : Qt TaskTree
Qt TaskTree est un nouveau module, disponible dans Qt 6.11 en avant-première technologique.
Qt TaskTree apporte une perspective entièrement nouvelle à la conception des API dans Qt, en introduisant une approche de description déclarative en C++. Un flux de travail asynchrone est exprimé sous forme de description déclarative via une recette, un objet réutilisable transmis à un arbre de tâches, qui gère alors automatiquement le flux de travail en conséquence. Cela sépare clairement le flux de travail du code standard, rendant le code beaucoup plus lisible que les approches traditionnelles. L'arbre de tâches se charge des tâches fastidieuses à votre place, et vous disposez d'un flux de travail, même complexe, décrit de manière claire et précise en un seul endroit.
De plus, Qt TaskTree résout le problème des incompatibilités entre les API en regroupant diverses API asynchrones au sein d'une interface commune, ce qui permet d'adapter n'importe quelle tâche asynchrone pour qu'elle fonctionne avec le module.
Autres améliorations notables
Parmi les autres améliorations majeures de la version Qt 6.11, citons des ajouts au framework d'interface utilisateur, une connexion plus facile aux services web et d'autres améliorations de connectivité, ainsi qu'une intégration plus aisée de QML et C++.
Source : Annonce de Qt 6.11
Et vous ?
Pensez-vous que cette annonce est crédible ou pertinente ?
Quel est votre avis sur le sujet ?
Voir aussi :
Qt 6.10, la dernière version du framework de développement d'applications multiplateforme, est disponible avec le backend audio PipeWire et de nombreuses autres améliorations
Qt Creator 19, l'EDI multiplateforme pour C++, JavaScript, Python et QML, est disponible, proposant une mini-carte, une configuration simplifiée des appareils distants et un serveur MCP
La version 4.8 de Qt Design Studio, l'environnement de développement d'interfaces graphiques, est disponible avec un nouveau modèle de code QML et avec Project Storage, une mise à niveau du backend










Pensez-vous que cette annonce est crédible ou pertinente ?
Répondre avec citation
Partager