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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Nouvelle bibliothèque de tweeners en C++


Sujet :

C++

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 104
    Points : 614
    Points
    614
    Par défaut Nouvelle bibliothèque de tweeners en C++
    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.

  2. #2
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    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?

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 104
    Points : 614
    Points
    614
    Par défaut
    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 ?

  4. #4
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    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.

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 104
    Points : 614
    Points
    614
    Par défaut
    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.

Discussions similaires

  1. nouvelle bibliothèque comment afficher en lien
    Par tellierbe dans le forum Windows 7
    Réponses: 4
    Dernier message: 10/05/2012, 15h28
  2. Nouvelle bibliothèque libre de réflexion pour C++
    Par Laurent Gomila dans le forum C++
    Réponses: 89
    Dernier message: 31/08/2010, 14h45
  3. Réponses: 323
    Dernier message: 11/06/2010, 20h23
  4. Réponses: 0
    Dernier message: 08/04/2010, 12h49
  5. Utilisation d'une nouvelle bibliothèque (cygwin)
    Par hnouna2007 dans le forum Linux
    Réponses: 0
    Dernier message: 16/05/2009, 17h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo