50 likes | 142 Vues
Explore the challenges in setting up the X3D extension for Vreng, addressing Linux, Vreng conflicts, and XML parsing obstacles, with a focus on the X3dObject and X3d classes. Discover features like flexible parsing, hierarchical transformations, mesh rendering, color options, animations, and user interactions in Ubit. Learn through a quick tutorial with sample files for a hands-on experience. Get ready to unlock the full potential of the software!
E N D
Extension X3D pour Vreng Pascal Chambon ENST 2007
Mise en place de l'environnement de travail Difficultés dues : • à Linux (auto-uninstall) • à Vreng, Ubit, Opengl (conflits de versions, crashs, pilotes Mesa, inclusions de headers) • au parseur xml (Xercès et Libxml) Mais bonnes surprises avec Eclipse !
Principe du module • Classe X3dObject (Wobject) : Interface avec Vreng/Ubit • Classe X3d : • Parsage -> arbre xml • Parcours récursif -> arbre x3d (X3dShape, Vectortools, fonctions Draw) • Parcours itératif -> rendu • (malédiction de la machine à état Opengl et de gl_color_material) • Initialisation puis mise à jour avant chaque rendu -> animation • (Timesensor, Interpolator, Route temporaire)
Fonctionnalités Supportées • Parsing souple pour l’ordre des balises et le contenu des attributs • Transformations hiérarchisées (position, rotation, échelle) • Maillages : primitives ou maillages complexes • Couleurs : 3 types • -textures • -matériaux • -couleurs par face ou sommet • Animation : arbre d’animation à 3 niveaux : temps, interpolation, objet • (animation linéaire, mais facilement extensible) • Tous attributs animables, exceptés les positions des sommets et les couleurs dans les IndexedFaceSets.
Tutoriel Rapide • Fichier *.vre : • <x3dobject url="/vre/***/***.x3d" dim="dimx dimy dimz"><x3dobject/> • Fichier *.x3d : CF « tutorial.x3d » • - structure hiérarchique des balises xml avec leurs attributs • - TimeSensors et Interpolators nommés • - routes d’animation pour relier le tout • Interactions avec l’utilisateur sous Ubit (boutons) Et maintenant une petite démonstration des possibilités du logiciel !