IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par Alex

516PARTAGES

3  0 
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....
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !