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 !

Retour sur une nouveauté de Qt 3D avec Qt 5.10
Les animations à base d'atlas de textures

Le , par dourouc05

60PARTAGES

7  0 
Qt 3D continue à faire des progrès avec Qt 5.10. Notamment, le moteur 3D pour Qt peut maintenant charger des atlas de textures (sprite sheets), avec les classes QSpriteGrid et QSpriteSheet (et les composants QML correspondants, SpriteGrid et SpriteSheet). Ces atlas peuvent être utilisés pour générer des animations assez simples, sur le principe des folioscopes : on passe différentes images d’un même objet. Si ces images défilent assez vite, l’animation semble fluide.


En 3D, les objets affichés utilisent des textures, qui ne sont que des images. Pour afficher des animations sur ces objets, on peut donc utiliser le même principe. Cependant, pour éviter de surcharger le processeur graphique (changer un objet de texture est très coûteux), on rassemble toutes les images en une même “texture” chargée en mémoire, dont on n’affiche que certaines portions.


Pour Qt 3D, un atlas de textures est constitué d’une très grande texture, d’une liste de zones dans cette image, d’un index pour l’image courante et d’une matrice de transformation mise à jour chaque fois que l’index change.

https://www.kdab.com/wp-content/uplo...dexplosion.mp4

Source : New in Qt 5.10: Texture Based Animations in Qt 3D.

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