Developpez.com

Télécharger gratuitement le magazine des développeurs, le bimestriel des développeurs avec une sélection des meilleurs tutoriels

Découvrez tweener
Le nouveau module d'interpolation de la bibliothèque d'utilitaires C++ claw de j-jorge

Le , par j-jorge, Membre confirmé
Bonjour à tous,

Je voudrais vous présenter un module de libclaw nommé claw::tween dont l'objectif est d'être une implémentation claire, efficace et extensible des tweeners en C++.

Ce module permet l'interpolation des valeurs intermédiaires entre deux valeurs données pendant un intervalle de temps et selon une courbe de variation prédéfinie. Cette pratique est grandement utilisée en animation et est très populaire dans le contexte de sites et de jeux vidéos en ActionScript/Flash.

Voici une vidéo d'exemple tirée du jeu Plee the Bear et montrant une animation faite avec ce module. Lorsque le lapin est blessé dans la vidéo, le mouvement de ses différentes parties est le résultat des tweeners. Ces tweeners calculent la position et l'angle de chaque élément.

Le module est inspiré de la bibliothèque ActionScript tweener et de son port en C++ cpptweener. Claw::tween diffère de ces implémentations sur plusieurs points :
  • L'interpolation est faite sur la valeur d'une variable donnée ou en utilisant une fonction de rappel fournie par l'appelant ;
  • les valeurs intermédiaires sont calculées en utilisant une des fonctions prédéfinies ou avec n'importe quelle fonction fournie par l'appelant et respectant le contrat ;
  • plusieurs interpolations peuvent être facilement exécutées simultanément ou en séquence ;
  • le module a une structure de C++ moderne.


Libclaw est distribuée sous licence LGPL. Pour essayer par vous-même, téléchargez la bibliothèque depuis la page du projet sur SourceForge.net. Il y a aussi une documentation du module en anglais avec divers exemples de code.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Klaim Klaim - Membre expert https://www.developpez.com
le 27/08/2011 à 13:45
Ca a l'air interessant, sauf la licence LGPL qui est pour le moins repoussante dans le domaine du jeu vidéo. Pourquoi cette licence?
Avatar de j-jorge j-jorge - Membre confirmé https://www.developpez.com
le 27/08/2011 à 14:15
Citation Envoyé par Klaim  Voir le message
Ca a l'air interessant, sauf la licence LGPL qui est pour le moins repoussante dans le domaine du jeu vidéo. Pourquoi cette licence?

Je ne vois pas tellement ce qui est repoussant car la licence assure que la bibliothèque est libre et de plus elle n'est pas virale. Il me semble que son utilisation est non contraignante, non ?
Avatar de Klaim Klaim - Membre expert https://www.developpez.com
le 27/08/2011 à 14:26
Oh que si.

Par exemple, je veux faire un jeu sur console ou iphone ou android. J'ai besoin d'avoir le jeu en un seul executable.

Il y a une ambiguité sur la licence LGPL qui fait que dans ce cas, si je veux éviter toute poursuite, la librarie doit être dans des binaires séparés, linké au runtime, par exemple en .so ou .dll sur pc.

Mais sur console, on peut pas (la plupart du temps).

Sinon, si tu veux un vrai licence permissive, choisis plutot quelque chose comme MIT, BSD, Boost, Apache ou des variantes. LGPL a des contraintes.

Les mecs d'Ogre3D sont passé a MIT pour cette raison, les limitations "floues" que supposent les autres licences. Ils voulaient permettre les développement sur IOS et console et aussi, ils ne voyaient plus du tout l'interet davoir cette limitation LGPL.
Avatar de j-jorge j-jorge - Membre confirmé https://www.developpez.com
le 27/08/2011 à 22:11
Effectivement je ne connaissais pas de plate-formes où le lien dynamique n'était pas possible. Du coup la licence mériterait d'être revue et a priori la licence Boost serait pas mal. À voir.
Offres d'emploi IT
Ingénieur analyste programmeur (H/F)
Safran - Auvergne - Montluçon (03100)
Architecte et intégrateur scade/simulink H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)
Responsable transverse - engagement métiers H/F
Safran - Ile de France - Corbeil-Essonnes (91100)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique C++