ARéVi : Atelier de Réalité Virtuelle

ARéVi : Atelier de Réalité Virtuelle - C++ - Programmation

Marsh Posté le 15-11-2005 à 18:17:18    

Bonjour
 
Je vais vous présenter un projet qui me tient particulièrement à coeur (car je travaille dessus) : ARéVi, pour Atelier de Réalité Virtuelle.
 
ARéVi est une librairie développée au Centre Européen de Réalité Virtuelle (CERV) de Brest, sous license LGPL. Elle est principalement utilsée pour simuler des agents autonomes dans des environments 3D. Elle propose un ensemble de services pour les systèmes multi-agents (SMA) et le rendu 3D.
 
Elle ne repose que sur C++, POSIX, OpenGL, X11/Win32 afin de limiter les dépendances et ainsi faciliter la portabilité. Elle propose également des plugins utilisant :
    * ImageMagick (chargement d'images)
    * Imlib2 (chargement d'images)
    * OpenAL (son 3D)
    * Tcl/Tk
    * Java
    * LibXml2 (lecture/écriture de fichiers XML)
    * FFmpeg (géneration de vidéos)
    * ElanSpeech (synthèse vocale)  
Si la plateforme ne dispose pas des services/bibliothèques nécessaires, les plugins ne pourront pas être utilisés mais les services de base d'ARéVi seront tout de même disponibles. Des IHM peuvent être adjointes à l'aide des plugins Tcl/Tk et Java mais également par les bibliothèques :Gtk, Qt, Fox (voir les examples).  
 
L'utilisation d'ARéVi a été testée sur plusieurs plateformes :Linux/ix86/x86-64/PPC, Windows/Cygwin, MacOs X 10.4, IRIX 6.5, FreeBSD 5.2. Certains plugins ne sont pas encore fonctionnels sur toutes les plateformes. Je travaille actuellement sur une version utilisant WIN32.
 
ARéVi propose entre autre :
    - un mécanisme de smarts pointers
    - un garbage collector
    - un ordonnaceur (temps virtuel / réél) pour les objets actifs
    - des fonctionnalités d'introspection/reflexion
    - la distribution d'applications (réseau local, internet...)
Bien évidemment il est possible de faire de la 3D :
    - chargement / affichage de modèles 3D
    - niveaux de détails
    - détection de collision
    - shaders
Voici un aperçu des fonctionnalités, il y en a bien d'autres.
 
Parrallèlement à ARéVi, il y a une librairie pour utiliser des FCMs, ainsi qu'une autre pour l'animation d'humanoides (hLib). hLib permet de charger des fichiers de modèles et d'animations (Milkshape3D, BioVision, Half Life...), et d'animer les personnages (cinématique directe, inverse, motion blending...).
 
Au laboratoire, ARéVi nous sert essentiellement pour nos simulations multi-agents. Mais elle peut aussi servir d'API pour le développement de jeu ou d'applications utilisant de la 3D.  
 
Quand j'ai commencé à écrire des petits jeux il y a longtemps, j'adorais allegro, puis SDL. J'aurai aimé avoir un outil comme ARéVi car il permet, même au novices, de faire une application utilisant du son, de la 3D, le réseau... Nul besoin de savoir programmer en OpenGL, ni même d'ouvrir une socket. L'API ARéVi est "très simple" d'usage.
 
Voici quelques captures d'écran d'applications que j'ai réalisé avec cette librairie :
 
http://www.enib.fr/~jourdan/img/hfr_mer.jpg
Prototype d'un logiciel pour simuler des états de mer.
 
http://www.enib.fr/~jourdan/img/hfr_grace.jpg
Interactions entre agents émotionels.
 
http://www.enib.fr/~jourdan/img/hfr_alice.jpg
Manipulation de marionette (on manipule la marionette grâce à une croix, filmée par une caméra)
 
http://www.enib.fr/~jourdan/img/hfr_bowling.jpg
Bowling (une caméra filme une balle en mousse, extrait la trajectoire et prolonge le mouvement dans le monde virtuel)
 
Vous pouvez télécharger ARéVi, ainsi qu'un guide, la librairie de FCM et d'humanoides ici
 
Je vous recommande fortement de lire le guide d'utilisation (en français) avant de vous lancer dans l'installation et l'utilisation d'ARéVi. Une documentation arrivera bientôt (je travaille dessus) pour la librairie d'animation de personnages.
 
J'attends vos avis, et je reste dispo si vous voulez plus d'infos.  
 
Thomas


Message édité par jourdan_thomas le 15-11-2005 à 18:17:57
Reply

Marsh Posté le 15-11-2005 à 18:17:18   

Reply

Marsh Posté le 15-11-2005 à 21:27:19    

Joli :)
Comment fonctionne ton simulateur d'états de la mer ?


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 15-11-2005 à 22:03:50    

Pour le simulateur d'états de mer on a utilisé une approche totalement nouvelle. On a crée un nouveau modèle : IPAS (pour Interactive Phenomenological Animation of Sea). C'est assez long a expliquer donc je te conseille d'aller voir sur la page du collègue avec qui j'ai développé l'application.
 
Tu trouveras pas mal de vidéos, ainsi que 2 publications sur le sujet.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed