Clutter : enfin une bibliothèque d'animation pour GNOME

Posté par  . Modéré par Bruno Michel.
Étiquettes :
0
4
août
2007
Gnome
Compiz permet de jouer avec les fenêtres, et le fait très bien, cependant il ne gère rien de l'interface de l'application elle-même. La composition de l'affichage n'est pas un coup de baguette magique sur les applications pour les rendre fluides comme c'est le cas sur Mac OS X. D'ailleurs, Le prochain Mac OS recevra une nouvelle brique pour construire les application : Core Animation. Même Windows Vista arrive avec de quoi animer son application et tirer partie du GPU.

Le libre est à la traîne. Nous disposons de cairo pour faire du dessin vectoriel, en tirant partie si possible du GPU. seulement le dessin vectoriel ne fait pas l'animation, les transitions et autres joyeuseries. De plus, cairo est plutôt bas-niveau, comparé par exemple à Gtk+ basé sur GObject.

L'arrivée de l'iPhone avec ses effets graphiques aussi séduisants qu'ergonomiques, il fallait bien - nous aussi - faire un effort dans ce sens. Et c'est Opened Hand qui fournit Clutter, à l'instar de Fluendo et GStreamer.

Clutter est une bibliothèque d'animation basé sur GObject permettant aux développeurs d'applications de développer rapidement des interfaces graphiques riches et attractives. Clutter masque tous les appels à OpenGL voire OpenGL ES par une API GObject aussi simple que Gtk+. Tirant partie de GObject, Clutter dispose déjà de passerelles depuis python, Perl et C#, bien qu'en version 0.2 seulement.

La cible d'Opened Hand est l'embarqué, mais cette bibliothèque est parfaitement utilisable pour le bureau ! Le tout distribué sous licence GNU LGPL. Bref que du bonheur !

NdM : Merci à plagiats pour son journal sur le même sujet. Conceptuellement, la sémantique de Clutter définit une scène (la fenêtre) dans laquelle des acteurs (les widgets) évoluent en interaction en utilisant l'API des acteurs. Un Acteur peut être un groupe d'acteur (à la manière des conteneurs Gtk).

Les animations et effets visuels sont créés en définissant comportement et scénario. Le scénario est une animation basée sur l'image. On peut alors faire des interpolations d'une image à l'autre. Le comportement va contrôler l'acteur dans un scénario.

Dans la version 0.2, on peut retenir les fonctionnalités suivantes :

  • Une conception orientée objet basée sur GObject, similaire à Gtk+
  • Scène constituée d'élément d'interface sur plusieurs calques, avec positionnement dans un espace 3D, groupement, transparence, redimensionnement, rotation, etc.
  • Gestion des évènements de l'utilisateur
  • Moteur d'animation par image permettant l'interpolation sur chemin, transition et d'autre effets possible via les Behaviours et les Timelines
  • Moteur de rendu Pango adapté pour tirer partie de l'internationalisation
  • Support pour rendu vidéo avec GStreamer, rendu vectoriel avec cairo, imbrication de widget Gtk+ via des bibliothèques additionnelles
  • Passerelles depuis python, Perl et C#
  • Rendu final via GLX, SDL ou EGL

Peut-on espérer un Gtk engine tirant partie de Clutter pour animer un peut tout ça ? Peut-on espérer un thème qui gère génériquement les transitions courante dans le bureau (ajout/suppression d'une entrée dans une liste, redimensionnement de panneaux, etc.) ? L'avenir nous le dira ; toujours est-il que GNOME se dote enfin d'une boîte à outils d'animation de l'interface graphique, élément qui lui faisait grave défaut. Ne reste plus qu'à l'utiliser : transition dans Evince, effets dans jeux de cartes et serpent, etc. !

À vos claviers !

Aller plus loin

  • # Qu'en est-il de KDE ?

    Posté par  . Évalué à 4.

    Et qu'en est-il de KDE ? Existe-t-il une librairie équivalente ? Si non est-il prévu d'en faire une voire, y'en a-t-il une en cours de développement ?
    • [^] # Re: Qu'en est-il de KDE ?

      Posté par  . Évalué à 10.

      Il existe une librairie pour KDE aussi : Quasar.

      En gros ce framework a les mêmes fonctions que clutter.

      Petit article qui en parle sur le dot.kde.org : http://dot.kde.org/1183388210/

      Quasar a été présenté à l'akademy par son auteur, ça a l'air de grande qualité.
      • [^] # Re: Qu'en est-il de KDE ?

        Posté par  . Évalué à 3.

        Je me posait la même question à propos de KDE.

        Ca semble alléchant, surtout si ça sera inclut dans KDE 4.0

        Mais de la même manière, il a fallut récrire les applications pour passer vers QT4, Quasar devrait aussi demander ce traitement de faveur.

        Est ce que ça sera le cas des applications "standards" de KDE ?

        Et est ce que ça sera désactivable à la volée, voir automatiquement si on lance une application 3D ?

        Je sais que c'est le cas avec Windows Vista, sûrement Mac OS X, mais si touts ces effets graphiques monopolisent le GPU, c'est au final pas très utilisable si on utilise des applications 3D.
  • # Commentaire supprimé

    Posté par  . Évalué à 4.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Journal de plagiats

      Posté par  (site web personnel) . Évalué à 4.

      je l'avais rajouté en NdM ;-) (mais bon je n'ai pas pu voir les vidéos de google, j'ai gnash qui bloque complètement epiphany, sur x86_64 pour ceux qui se demanderaient :D)
  • # Poky

    Posté par  . Évalué à 7.

    À noter également des mêmes opened-hand, poky, qui est apparememnt une alternative à opie et gpe pour les PC embarqués, tablets PC : http://pokylinux.org/ (à moins que cela ne soit pas le même créneau)

    J'ai testé via les outils de développement fournis sur le site, et on peut émuler une session via qemu. Cela me semblait pas mal du tout, et c'est orienté écran VGA, donc une résolution supérieure à la plupart des PDA. Je ne sais pas si on peut l'installer sur un ipaq qui aurait cette résolution, en tout cas cela semble pouvoir tourner sur nokia N800...

    En ce qui concerne clutter, cela semble puissant, j'ai testé "table", et même si c'est orienté écran tactile, c'est un effet amusant, et donc indispensable...

    Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

  • # A quoi ca sert ?

    Posté par  . Évalué à 1.

    Je ne comprends pas exactement ... on va enfin avoir des boutons animés ou pas ?
    • [^] # Re: A quoi ca sert ?

      Posté par  (site web personnel, Mastodon) . Évalué à -5.

      Les effets Wow servent à perturber l'utilisateur, et à lui faire perdre autant de temps que possible.

      J'ai déjà en horreur le principe de la fenêtre qui gagne progressivement la barre des tâches pour être rangée, alors encore la fenêtre qui agit comme un chewing gum...
      • [^] # Re: A quoi ca sert ?

        Posté par  . Évalué à 7.

        C'est marrant la plupart du temps quand j'entends ce genre de remarques (pas seulement à propos d'effets graphiques) c'est parce que la personne qui est chargée de développer la chose en question ne sait pas comment faire ou n'est pas motivée.

        Le tout est de laisser le choix. "Libre" on a dit.
      • [^] # Re: A quoi ca sert ?

        Posté par  (site web personnel) . Évalué à 10.

        En tout cas, mes parents ont ENFIN compris l'abstraction de la fenêtre qui vient se réduire dans la barre des tâches... Et ils savent maintenant où ils doivent venir la chercher.
        Donc c'est bien d'avoir ça, et en tout cas d'avoir le choix. C'est juste le choix qui est bien, pas le fondu de la fenêtre en lui-même. Parce que c'est vrai que maintenant qu'ils ont compris... ils veulent désactiver l'effet ! :-D
      • [^] # Re: A quoi ca sert ?

        Posté par  . Évalué à 5.

        ça sert avant tout à délaisser le CPU d'un certain nombre de calcule en faveur du GPU (ce que les gens de wow n'ont par ailleurs pas tellement compris d'après ce que j'ai pu en voir). Les effets graphiques sont là pour la démo technologique. Globalement toutes ces technologies ça évite les effets de traînée des fenêtres, les contenus de fenêtres qui se figent, etc... et le CPU est un peu plus disponnible pour le même prix.
        • [^] # Re: A quoi ca sert ?

          Posté par  (site web personnel) . Évalué à 3.

          Je suis perplexe, ça voudrait dire que ça ferait tourner ma machine plus vite et plus beau? Je voudrais juste une confirmation ou une infirmation, ça a l'air trop beau pour être vrai mais qui sait...
          • [^] # Re: A quoi ca sert ?

            Posté par  . Évalué à 7.

            Et bien beryl par exemple sur mon Pentium 2 avec une geforce 2, ça lui a donné un sacré coup de fouet. Tout comme mon teste de MacOS sur une G4 350Mhz en activant leur quartz extrême (bureau, gestion des fenêtres plus fluide, etc...). Donc oui sur des machines un peu anciennes la différence se fait très sensiblement sentir.
          • [^] # Re: A quoi ca sert ?

            Posté par  . Évalué à 5.

            Avec Clutter et Quasar ta machine ne tournera pas "plus vite et plus beau" mais plutôt "plus beau et pas plus lent".

            Il permettront des effets que permettent les compositeurs de fenêtres : blur, rotation d'image, déformation d'image, animation en tout genre mais au sein même d'une application et non plus à l'échelle d'une fenêtre en n'utilisant que le GPU et OpenGL comme les compositeurs.

            Ils seront non pas en surcouche a Xorg comme avec les compositeurs mais en surcouche a QT et GTK , les librairies graphiques de KDE et GNOME.
            • [^] # Re: A quoi ca sert ?

              Posté par  (site web personnel) . Évalué à 7.

              Les effets graphiques sont executes par autre chose que le processeur. J'en reviens pas, ca c'est de l'innovation technologique ! Bon c'est pas tout, j'ai du code a finir sur mon Amiga.

              C'est quand meme beau de voir qu'il a fallu 15 ans pour que ce genre de truc revienne. Mieux vaut tard que jamais cela dit !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.