Sortie de Qt 3D Studio 2.3

Qt 3D Studio est un éditeur d’interfaces graphiques 3D. La version 2.2 avait apporté des améliorations de performance, la 2.3 continue dans la même direction, mais apporte aussi un nouveau moteur de rendu du texte. Celui-ci apporte surtout de nouvelles fonctionnalités, comme la possibilité d’afficher du texte avec des polices à chasse fixe (comme pour du code), l’élision ou le passage à la ligne. Ce dernier est implémenté avec des champs de distance et requiert Qt 5.12.2.

Pour améliorer les temps de chargement d’une interface déclinée en un grand nombre de produits, les objets peuvent maintenant être marqués avec une variante : si tel objet n’est pas utilisé dans telle variante d’une présentation Qt 3D Studio, il ne sera pas chargé.

Source : Qt 3D Studio 2.3 Released.

Télécharger : Qt 3D Studio, son moteur d’exécution.

Advertisements

Qt 3D utilisé dans un moteur de rendu par lancer de rayons

Qt 3D est le moteur 3D de Qt. Ce dernier a récemment énormément évolué grâce à Qt 3D Studio, un environnement de développement d’interfaces graphiques en 3D. Cependant, Qt 3D peut être utilisé pour bien plus que des interfaces graphiques ou des scènes assez simples : le moteur est entièrement prévu pour n’importe quel genre d’usage, en ce compris des jeux.

Quartz est une telle utilisation du moteur. Le cœur de ce projet, Qt 3D Raytrace, est un nouvel aspect pour Qt 3D qui propose du lancer de rayons (en remplacement de Qt 3D Render). Au niveau des fonctionnalités, Quartz est très loin de Qt 3D Render, mais arrive déjà à afficher de très belles scènes. L’implémentation se base uniquement sur NVIDIA RTX (et requiert donc une carte graphique NVIDIA RTX, pour le moment) ainsi que Vulkan.

Toute l’implémentation est réalisée en C++, mais des extensions Qt Quick sont disponibles (pour la compatibilité avec tout l’écosystème Qt 3D). Cela signifie que l’on peut afficher des scènes Qt 3D existantes, décrites en QML, mais aussi les créer directement en C++.

Voir aussi : Aperçu de Qt 3D 2.0, Écrire son propre aspect pour Qt 3D.

Projet Quartz.

Sortie de Qt 5.13 Beta 1

Qt 5.13 continue son développement : un mois après la sortie de la préversion Alpha, voici la première Beta. Celle-ci se focalise sur la stabilité de cette version, en corrigeant un bon nombre de défauts présents dans la première itération de Qt 5.13.

Jusqu’à présent, la Beta 2 est prévue pour le 2 avril, la RC pour le 7 mai et la version finale pour le 21 mai — à moins que des défauts bloquants soient trouvés d’ici là. Pour le moment, on n’en recense qu’un seul, lié à Web Assembly.

Source : Qt 5.13.0 Beta1 released.

Sortie de Qt Creator 4.8.2

Une nouvelle version corrective de Qt Creator, numérotée 4.8.2, vient de sortir. Celle-ci ne corrige pas de défaut majeur, mais bien une série de plantages lors de l’analyse du code C++ (gestion des macros et du préprocesseur, boucle infinie lors de la récupération du type d’un pointeur). Une fois n’est pas coutume, aucun défaut relatif à Windows n’a été corrigé, mais bien sur macOS (plantage lorsqu’une fenêtre de choix de fichier s’ouvre quand une autre fenêtre modale est ouverte) et concernant Android (plantage à la sortie du débogueur, impossibilité d’envoyer GDB sur certains périphériques).

Voir l’intégralité des changements apportés par Qt Creator 4.8.2.

Télécharger Qt Creator 4.8.2.

Qt en 2019

Avec la sortie récente de Qt 5.12, Tuukka Turunen, vice-président en charge de la “recherche et développement” à la Qt Company, nous propose, comme chaque année depuis 2016, une vue d’ensemble sur les développements à venir pour le framework. En quelques mots : du Python, des outils (tant pour développeurs que graphistes).

Côté Qt

Tout d’abord, Qt 5.12 poursuivra son cycle de développement, avec des correctifs et des améliorations de performance, en tant que troisième version de Qt 5 avec un support à long terme (par rapport aux deux versions précédentes, Qt 5.6.3 et Qt 5.9.7, on compte d’ailleurs respectivement cinq mille et deux mille tels correctifs). Qt Quick et Qt 3D seront au centre des attentions, notamment.

Qt 5.12 a notamment apporté une couche de liaison avec Python officielle (contrairement à PyQt, un équivalent historique). Ce module n’est pas concerné par le support à long terme de Qt 5.12, car son développement n’est pas encore assez mature (le projet renaît des cendres de PySide). En plus de la fiabilisation du code, il devrait être plus facile de s’intégrer avec les bibliothèques courantes en Python (en C++, Qt doit proposer énormément de fonctionnalités, la bibliothèque standard étant pauvre en comparaison et les autres bibliothèques nettement moins standardisées qu’en Python). 2019 devrait au moins voir une intégration avec numpy (pour le calcul scientifique, notamment une implémentation puissante des matrices), d’autres pourraient suivre. Le déploiement est toujours un point délicat, il sera amélioré. Qt Creator sera aussi adapté pour mieux travailler en Python (il pourrait proposer la possibilité d’écrire des extensions en Python).

Qt s’ouvrira aussi vers le Web avec Web Assembly : depuis Qt 5.13, il est possible de compiler une application Qt en un module Web Assembly pour la lancer dans un navigateur (la possibilité est plus ancienne, mais n’est considérée comme finalisée qu’avec Qt 5.13). Cependant, actuellement, le développement n’est possible que depuis Linux et macOS — Windows viendra s’ajouter à la liste. Côté fonctionnalités, il sera possible d’accéder au système de fichiers local (dans les limites des bacs à sable implémentés par les navigateurs), au multifil (quand cela est disponible) et au presse-papier. Pour faciliter le développement, on devrait bientôt voir le débogage et des temps de compilation réduits.

Pour les animations, Qt 5.13 a apporté un nouveau module, Qt Lottie, qui peut lire des animations Bodymovin réalisées dans Adobe After Effects. Qt Lottie permet d’inclure facilement ces animations dans des applications Qt Quick, mais aussi de les contrôler (démarrer, mettre en pause, etc.). Le module a été conçu pour la performance, de telle sorte qu’il soit utilisable sur les plateformes embarquées. Il devrait sortir de préversion technologique cette année.

Outils pour développeurs

Les dernières versions de Qt Creator ont retravaillé fortement les entrailles du moteur C++, pour utiliser Clang. Les bénéfices arrivent, avec une intégration avec Clang Tidy et Clazy. D’autres outils de diagnostic et d’analyse de la performance arriveront en 2019. L’EDI en lui-même devrait voir sa performance améliorée, avec l’utilisation d’une base de données de symboles pour le projet chargé, au lieu de devoir analyser les fichiers un à un au fur et à mesure de l’écriture du code.

Comme CMake semble être l’outil de compilation de choix pour Qt 6, Qt Creator doit se mettre au niveau : il est possible de travailler avec des projets CMake, mais cela n’est pas toujours aussi facile qu’avec le format ancestral de projet utilisé par Qt (les fameux fichiers .pro). Il sera ainsi plus facile de créer un projet CMake, notamment.

Qt Quick Designer, l’éditeur visuel pour Qt Quick intégré à Qt Creator, bénéficiera de certaines fonctionnalités développées pour Qt Design Studio (ce dernier étant développé sur la même base que Qt Creator). On devrait ainsi bientôt voir la ligne du temps de Qt Design Studio arriver dans Qt Quick Designer.

Outils pour graphistes

Un des gros chantiers de 2019 concernant les outils à destination des graphistes sera d’unifier les outils de conception 2D et 3D, de ne plus proposer qu’une seule application (avec des capacités spécifiques pour les interfaces en 2D et en 3D). Rapidement, on devrait voir des composants partagés, une meilleure interopérabilité et des outils d’installation unifiés. Le moteur d’exécution de Qt 3D Studio sera aussi amélioré.

Qt Design Studio devrait voir de nouveaux outils de dessin, un nouvel éditeur de courbe de transition, ainsi qu’un éditeur de propriétés — trois éléments qui devraient aussi se retrouver dans Qt 3D Studio. Il sera plus facile de travailler avec plusieurs moniteurs, avec par exemple des panneaux flottants. Une version libre devrait aussi voir le jour.

Qt 3D Studio aura droit à de bonnes améliorations de performance, avec ses versions 2.3 en mars et 2.4 en juin. Les nouveaux moteur de rendu et système d’animation ont permis de diminuer l’utilisation du processeur, d’accélérer le chargement du contenu 3D et de diminuer la consommation de mémoire. L’objectif de 2019 est d’avoir des applications 3D complexes en temps réel qui tournent sur du matériel pas forcément haut de gamme (mais pas incapable non plus).

Au niveau fonctionnalités, Qt 3D Studio devrait disposer d’un rendu stéréoscopique (pour afficher un contenu en “vraie” 3D, avec des lunettes adaptées par exemple, mais aussi dans le contexte de la réalité augmentée et/ou virtuelle), d’un rendu du texte complètement retravaillé, des vertex shaders écrits à la main et précompilés.

Source : Qt Roadmap for 2019.

Sortie de Qt Creator 4.9 Beta

Qt Creator, l’EDI pour Qt, sort sa première préversion Beta pour Qt Creator 4.9. Cette version propose un bon nombre d’améliorations concernant le protocole LSP (language server protocol), qui lui permet de proposer des fonctionnalités avancées pour n’importe quel langage (pour autant qu’il existe un serveur LSP pour ce langage, qui peut être partagé avec d’autres EDI). Ce protocole est implémenté depuis Qt Creator 4.8. Dans les nouvelles fonctionnalités implémentées, on compte le résumé du document, la recherche d’utilisations et les actions (pour suggérer des corrections ou des refactorisations), pour autant que le serveur LSP les implémentent. La coloration syntaxique générique est effectuée par la même bibliothèque que Kate, KSyntaxHighlighting.

Côté C++, l’interface pour afficher les diagnostics de Clang a été retravaillée pour trier par ligne. Ceux concernant les en-têtes sont aussi inclus. L’analyseur de performance Perf est disponible dans une extension (à activer manuellement), mais uniquement sur Linux (puisque Perf n’est disponible que sur cette plateforme)

Source : Qt Creator 4.9 Beta released.

V-Play change de nom pour sa version 3.0 et devient Felgo

V-Play est une bibliothèque d’extension pour Qt Quick, à l’origine surtout prévue pour faciliter le développement de jeux vidéo. Son développement a débuté en 2009, peu après la sortie de Qt Quick 1, pour une première version officielle en 2012. Avec le temps, les clients de la bibliothèque se sont de plus en plus intéressés au développement d’applications mobiles orientées business — de fait, une bonne partie des besoins est similaire : une interface fortement adaptée aux visuels de l’entreprise, des animations. C’est pour cela qu’une version plus adaptée à ces besoins, V-Play Apps, est sortie en 2015. Cependant, le nom de la bibliothèque fait toujours référence aux jeux… d’où ce renommage.

Le développement de la bibliothèque se poursuit, bien évidemment ; certains services sont en cours de développement. Les applications pourront bientôt être déployées sur le Web. L’intégration avec du code natif iOS et Android sera plus simple, dans les deux sens : du code natif à l’intérieur d’une application Felgo ou une application Felgo avec une partie native. Aussi, le développement pour les plateformes embarquées sera facilité.

Felgo Cloud Build permettra de compiler toute application ou jeu dans le nuage. Felgo Cloud IDE sera un environnement de développement accessible par navigateur, préconfiguré pour une série de plateformes — bien évidemment, il sera intégré avec Felgo Cloud Build.

Lors du développement, les modifications du code peuvent être poussées vers tous les périphériques connectés (Felgo Live Code Reloading), sauf que cela redémarre l’application ; bientôt, avec Felgo Hot Reload, l’état de l’application sera sauvegardé, il ne sera plus nécessaire de naviguer dans les menus pour retrouver l’endroit où l’on était.

Voir aussi : interview de Christian Feldbacher.

Source : V-Play is Now Felgo – New Release & Roadmap.