La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Générateur de documents 3D interactifs PDF U3D

Présentations similaires


Présentation au sujet: "Générateur de documents 3D interactifs PDF U3D"— Transcription de la présentation:

1 Générateur de documents 3D interactifs PDF U3D
Surement un des DP les plus intéressants ;) Projet de Bachelor | RICHARD Mathieu | 2009

2 PROJET DE BACHELOR Présentation U3D Projet Réalisation Conclusion 1/42
2009 PDB| Mathieu RICHARD 1/42

3 PRESENTATION Cadre Domaine
U3D PROJET REALISATION CONCLUSION Cadre Projet de Bachelor individuel sur 20 semaines (15 en cours et 5 à temps complet). Sujet proposé par l’HEIG-VD et Mr Henri Röthlisberger Domaine Projet lié à l’infographie et à la visualisation 3D Utilise un mécanisme de compression U3D s’intègre au fichier .pdf 2009 PDB| Mathieu RICHARD 2/42

4 PRESENTATION Déroulement Planification 3 parties
U3D PROJET REALISATION CONCLUSION Déroulement 3 parties Une étude théorique du format La réalisation de module d’exportation Un projet pratique utilisant le module développé précédemment Planification Etude théorique : 7 semaines Réalisation modules : 7semaines Projet pratique : 5 semaines 2009 PDB| Mathieu RICHARD 3/42

5 PROJET DE BACHELOR Présentation U3D Projet Réalisation Conclusion 4/42
2009 PDB| Mathieu RICHARD 4/42

6 U3D PRESENTATION U3D PROJET REALISATION CONCLUSION Présentation du U3D Général: Universal 3D - Standard de représentation de modèles 3D. Objectifs: Faciliter la visualisation et la réutilisation de modèles 3D dans tous types d’applications. Technologies: Compressé, utilisable en streaming, et non-propriétaire. U3D est le seul format de représentation 3D intégrable et visualisable dans Adobe Reader (depuis version 7). Adobe garanti + de Reader installé 2009 PDB| Mathieu RICHARD 5/42

7 U3D PRESENTATION U3D PROJET REALISATION CONCLUSION Motivation Absence de Standard: Après 30ans d’utilisation de la CAO, toujours aucun réel standard n’existe. U3D veut devenir le .Jpeg de la 3D. Pérennisation des données: Création d’un format indépendant des plateformes d’utilisations. Développé l’usage de données 3D: Permet l’utilisation des données dans tous types de logiciels à toutes les étapes du développement. 2009 PDB| Mathieu RICHARD 5/42

8 U3D Intervenants: Historique:
PRESENTATION U3D PROJET REALISATION CONCLUSION Intervenants: 3DIF: Consortium industriel fondé par Intel dont le but est de promouvoir l’utilisation de 3D grand public. ECMA: Organisation de standardisation informatique. Historique: version1: 2004, aboutissement du travail du groupe TC43 réunit par ECMA. version2: 2005, U3D devient extensible. Cette version est soumise à la normalisation ISO. version3: Corrections apportées suites au processus de normalisation ISO. version4: Prise en charge des NURBS. The 3D Industry Forum has proposed 2005 that U3D should become a standard format, members of the 3D Industry Forum are: 3Dsolve, Actify, ADL Co-Labs, Adobe Systems Inc, Anark, ATI, The Boeing Company, Cinema4D, Dassault Systemes, Discreet, UGS PLM Solutions, Fraunhofer Institute, Hewlett-Packard, Intel Corporation, Lattice, Lego, mental images, Mercury Computer Systems Inc. (TGS), Microsoft, Mindego, NGRAIN, NVIDIA, OpenHSF, Oregon3D, Parallel Graphics, Parametric Technology Corporation, RadTIME, Realviz, Right Hemisphere, Science Applications International Corporation, SGDL Systems, SolidWorks, and Tech Soft America) 2009 PDB| Mathieu RICHARD 7/42

9 U3D Fonctionnalités principales:
PRESENTATION U3D PROJET REALISATION CONCLUSION Fonctionnalités principales: Animations: U3D permet d’effectuer différentes animations d’un même modèle 3D. Extensibilité: Permet de correspondre au besoin du marché. Métadonnées: Permet d’ajouter des informations à n’importe quel élément du modèle. Niveau de détail ajustable (CLOD): Permet d’augmenter ou de diminuer la complexité du modèle en fonction des besoins. Compression: Fichiers 3D légers. 2009 PDB| Mathieu RICHARD 7/42

10 U3D PRESENTATION U3D PROJET REALISATION CONCLUSION Format: Format binaire: U3D est compressé et stocké en représentation binaire. Compression: Algorithme Right Hemisphere Adobe 3D Mesh Compression. Structure: Blocs de définitions: Définissent tous les éléments du modèle ainsi que leurs relations. Blocs de continuations: Définissent les caractéristiques d’une entité du modèle. binaire: Little Endian Fichier +petit IO efficace. Compression: Right Hemisphere Compression 2009 PDB| Mathieu RICHARD 8/42

11 U3D PRESENTATION U3D PROJET REALISATION CONCLUSION Eléments: Graphe de scène: Structure en graphe composé d’objets et de transformations. Données et métadonnée : Chaque bloc contient des données et des métadonnées associées. Références externes: Les ressources peuvent dans de nombreux cas être intégré au fichier ou référencé dans des fichiers externes (textures, animations, objets,…) binaire: Little Endian Fichier +petit IO efficace. Compression: Right Hemisphere Compression 2009 PDB| Mathieu RICHARD 9/42

12 U3D Types de blocs: Nœuds: Groupes, modèles, lumières, vues.
PRESENTATION U3D PROJET REALISATION CONCLUSION Types de blocs: Nœuds: Groupes, modèles, lumières, vues. Générateurs Géométriques: Générateurs CLOD, listes de points, listes de lignes, NURBS . Modifieurs: Liste d’opérations permettant d’obtenir le rendus final d’un objet (Animations, rendu, CLOD modifieurs,…). Ressources: lumières, vues, textures, matériaux, animations,… binaire: Little Endian Fichier +petit IO efficace. Compression: Right Hemisphere Compression 2009 PDB| Mathieu RICHARD 10/42

13 U3D Architecture : Palettes:
PRESENTATION U3D PROJET REALISATION CONCLUSION Architecture : Palettes: Informations générales permettant de construire une entité du graphe. Il existe différente palettes classées par type : Modèle, lumière, vue, shader, matériaux , textures, animations, nœuds. 2009 PDB| Mathieu RICHARD 11/42

14 U3D Architecture : Nœuds:
PRESENTATION U3D PROJET REALISATION CONCLUSION Architecture : Nœuds: Construisent la structure complète de la scène. Ils disposent des noms de leurs propriétés associées permettant d’obtenir l’information correspondante dans les palettes. binaire: Little Endian Fichier +petit IO efficace. Compression: Right Hemisphere Compression 2009 PDB| Mathieu RICHARD 12/42

15 U3D Architecture : Modifieurs:
PRESENTATION U3D PROJET REALISATION CONCLUSION Architecture : Modifieurs: Définissent le rendu final d’une entité de la scène. Ressource 2009 PDB| Mathieu RICHARD 13/42

16 U3D PRESENTATION U3D PROJET REALISATION CONCLUSION Fichier U3D: Séquence de blocs: Structure de la scène dans les blocs de déclarations, informations dans les blocs de continuations. L’en tête principal permet d’identifier la version d’U3D, l’encodage utilisé, la taille du fichier,… Chaque Entités du graphe déclaré dans les déclarations Gros du fichier dans les blocs de continuations 2009 PDB| Mathieu RICHARD 14/42

17 U3D Blocs: Chaque bloc est encapsulé dans un structure identique :
PRESENTATION U3D PROJET REALISATION CONCLUSION Blocs: Chaque bloc est encapsulé dans un structure identique : Une champ block type permet d’identifier l’information et les Tailles de connaitre la taille des Données a lire. Le contenu du bloc Se trouve dans la partie donnée. Chaque Entités du graphe déclaré dans les déclarations Gros du fichier dans les blocs de continuations 2009 PDB| Mathieu RICHARD 15/42

18 PROJET DE BACHELOR Présentation U3D Projet Réalisation Conclusion
2009 PDB| Mathieu RICHARD 16/42

19 PROJET Cahier des charges
PRESENTATION U3D PROJET RELISATION CONCLUSION Cahier des charges Développer des outils permettant de générer des fichiers U3D à partir d’un programme utilisant les librairies Java3D et OpenGL. Créer une application utilisant les librairies créées dans la première partie du travail. 2009 PDB| Mathieu RICHARD 17/42

20 PROJET PRESENTATION U3D PROJET RELISATION CONCLUSION JAVA3D Java3D est une librairie JAVA permettant la représentation de scène 3D sous forme de graphe. Java3D est un API de haut niveau permettant de disposer de la totalité de la scène à partir du nœud racine. Les informations sont donc structurées en arbres et sont divisées en 3 principales catégories ( Nœuds, Groupes, Composants de Nœuds). 2009 PDB| Mathieu RICHARD 18/42

21 PROJET Conversion JAVA3D en U3D
PRESENTATION U3D PROJET RELISATION CONCLUSION Conversion JAVA3D en U3D 2 types d’implémentations ont été envisagées: Module d’exportation complet: Conversion et écriture de la structure U3D à partir d’un graphe Java3D. Module utilisant JReality: Conversion de Java3D en un graphe JReality puis utilisation du module d’exportation existant. 2009 PDB| Mathieu RICHARD 19/42

22 PROJET Module complet d’exportation Java3D Avantages: Inconvénients:
PRESENTATION U3D PROJET RELISATION CONCLUSION Module complet d’exportation Java3D Avantages: Rapide, pas de conversion inutile Modulable, correspond à nos besoin Inconvénients: Réécriture de l’algorithme de compression et du module d’écriture. Nécessite une préparation des données dans une structure adéquate. 2009 PDB| Mathieu RICHARD 20/42

23 PROJET Module d’exportation Java3D JReality Avantages: Inconvénients:
PRESENTATION U3D PROJET RELISATION CONCLUSION Module d’exportation Java3D JReality Avantages: Simple, conversion dans une structure existante Nombreux outils existants dans les librairies JReality. Inconvénients: Plus lent, passage par une strucutre avancé intermédiaire. Dépend de la maintenance du projet JReality. 2009 PDB| Mathieu RICHARD 21/42

24 PROJET Conversion JAVA3D en U3D
PRESENTATION U3D PROJET RELISATION CONCLUSION Conversion JAVA3D en U3D Solution adoptée Module utilisant JReality. Motivations Complexité de l’algorithme de compression et du module d’écriture. Bénéfices des outils et de la maintenance existante. 2009 PDB| Mathieu RICHARD 22/42

25 PROJET Conversion OpenGL C/C++ en U3D
PRESENTATION U3D PROJET RELISATION CONCLUSION Conversion OpenGL C/C++ en U3D 4 types d’implémentations ont été envisagées: Module d’exportation complet: Conversion et écriture de la structure U3D à partir d’OpenGL. Module utilisant OpenSceneGraph: Conversion de OpenGL en une structure OpenSceneGraphe puis exportation en réalisant un module complet ou à l’aide des librairies SourceForge. Module utilisant Flex/Bison: Exportation en utilisant une analyse syntaxique du fichier source OpenGL. Module utilisant les librairies Sourceforge: Conversion de OpenGL dans la structure ITF fournit par Souceforge puis exportation à l’aide des librairies. 2009 PDB| Mathieu RICHARD 10/19

26 PROJET Module complet d’exportation C/C++ Avantages: Inconvénients:
PRESENTATION U3D PROJET RELISATION CONCLUSION Module complet d’exportation C/C++ Avantages: Rapide, pas de conversion inutile Modulable, correspond à nos besoin Inconvénients: Réécriture de l’algorithme de compression et du module d’écriture. Nécessite une préparation des données dans une structure adéquate. 2009 PDB| Mathieu RICHARD 25/42

27 PROJET Avantages: Inconvénients: Module d’exportation OpenSceneGraph
PRESENTATION U3D PROJET RELISATION CONCLUSION Module d’exportation OpenSceneGraph Avantages: Double usage, OpenGL et OpenSceneGraph Structure de modélisation de la scène complète déjà existante. Inconvénients: Réécriture de l’algorithme de compression et du module d’écriture. Plus lent, passage par une structure avancé intermédiaire. 2009 PDB| Mathieu RICHARD 26/42

28 PROJET Avantages: Inconvénients: Module d’exportation Flex/Bison
PRESENTATION U3D PROJET RELISATION CONCLUSION Module d’exportation Flex/Bison Avantages: Aucune modification du développeur. Indépendant de l’exécution du programme. Inconvénients: Complexité de l’analyse synthaxique. Réécriture de l’algorithme de compression et du module d’écriture. 2009 PDB| Mathieu RICHARD 27/42

29 PROJET Avantages: Inconvénients: Module d’exportation SourceForge
PRESENTATION U3D PROJET RELISATION CONCLUSION Module d’exportation SourceForge Avantages: Simple, conversion dans une structure existante. Outils d’exportation et de visualisation intermédiaire disponible Inconvénients: Plus lent, passage par une structure avancé intermédiaire. Faible documentation et maintenance du projet 2009 PDB| Mathieu RICHARD 28/42

30 PROJET Conversion OpenGL C/C++ en U3D
PRESENTATION U3D PROJET RELISATION CONCLUSION Conversion OpenGL C/C++ en U3D Solution adoptée Module utilisant les librairies SourceForge. Motivations Complexité de l’algorithme de compression et du module d’écriture. Bénéfices des outils existants. Seul solution réalisable dans le temps disponible. 2009 PDB| Mathieu RICHARD 29/42

31 PROJET Conversion OpenGL C/C++ en U3D
PRESENTATION U3D PROJET RELISATION CONCLUSION Conversion OpenGL C/C++ en U3D Solution adoptée Module utilisant les librairies SourceForge. Motivations Complexité de l’algorithme de compression et du module d’écriture. Bénéfices des outils existants. Seul solution réalisable dans le temps disponible. 2009 PDB| Mathieu RICHARD 30/42

32 PROJET DE BACHELOR Présentation U3D Projet Réalisation Conclusion
2009 PDB| Mathieu RICHARD 31/42

33 REALISATION Cahier des charges module exportation
PRESENTATION U3D PROJET REALISATION CONCLUSION Cahier des charges module exportation Réaliser un outil permettant d’exporter de manière simple une scène créée par le programmeur. La totalité des fonctionnalités d’exportation ne sont pas nécessaires, la priorités des informations à exporter étant à définir. 2009 PDB| Mathieu RICHARD 32/42

34 REALISATION JAVA Cube exporté via la module 33/42 REALISATION
PRESENTATION U3D PROJET REALISATION CONCLUSION JAVA Cube exporté via la module 2009 PDB| Mathieu RICHARD 33/42

35 REALISATION Bilan Java
PRESENTATION U3D PROJET REALISATION CONCLUSION Bilan Java Les librairies Java3D et JReality sont bien documentées, c’est pourquoi il est agréable de travailler avec celles-ci. JReality offrent des possibilités de visualisation ou des outils permettant de simplifier grandement les calculs géométriques. L’exportation est actuellement fonctionnelle pour le géométrie et la position des objets. 2009 PDB| Mathieu RICHARD 14/19

36 REALISATION PRESENTATION U3D PROJET REALISATION CONCLUSION C/C++ Le développement de la librairie C/C++ pour OpenGL à engendré davantage de difficultés. Les librairies SourceForge existantes sont uniquement compatible avec Visual C++, malgré de nombreuses tentatives afin de les faires fonctionner avec un autre IDE, je n’ai pas réussi. La recompilation complète des librairies est compliqué et fastidieuse. 2009 PDB| Mathieu RICHARD 14/19

37 REALISATION Bilan C/C++
PRESENTATION U3D PROJET REALISATION CONCLUSION Bilan C/C++ Les librairies SourceForges bien que officielles ne sont que très peu documentées et le projet n’avance guère. Le developpement d’un module complet est compliqué et fastidieux bien que des codes C++ permettant d’effectuer la compression sont founis dans le standard. Le module C/C++ ne fonctionne actuellement pas. 2009 PDB| Mathieu RICHARD 36/42

38 REALISATION Cahier des charges exemple pratique
PRESENTATION U3D PROJET REALISATION CONCLUSION Cahier des charges exemple pratique Réaliser un outil permettant l’intégration de fichier U3D à des documents pdf existants. Optionnel: Créer un module d’exportation Java 3D permettant de manière simple l’exportation d’une scène Java3D. Dans un premier temps, le module d’insertion dans les Pdfs permettra de remplacer une image par une contenu 3D puis dans la mesure du temps aparti, permettra l’insertion directement. 2009 PDB| Mathieu RICHARD 37/42

39 REALISATION Bilan Réalisation
PRESENTATION U3D PROJET REALISATION CONCLUSION Bilan Réalisation Le fonctionnement du module n’est pas complet à l’heure actuelle. Celui-ci remplace l’image mais le contenu 3D ne fonctionne pas alors que le fichier U3D est correct. Ce problème reste à solutionner au cours de la dernière semaine. 2009 PDB| Mathieu RICHARD 38/42

40 PROJET DE BACHELOR Présentation Modèle Implémentation Exemple
Conclusion 2009 PDB| Mathieu RICHARD 39/42

41 CONCLUSION Présentation Modèle Implémentation Exemple Conclusion U3D est un standard, mais celui-ci est très compliqué à utiliser. On peut d’ailleurs le remarquer par le faible nombre d’outil en faisant usage. La documentation, mis à part le standard très technique, est absente et certaines parties ne sont expliquées qu’en pseudo code (compression). U 3D est un format puissant, évolutif mais à utiliser actuellement uniquement si l’on en a un réel intérêt étant donnée la complexité de sa mise en œuvre. 2009 PDB| Mathieu RICHARD 40/42

42 PROJET DE BACHELOR Q&A Question ????? 2009 PDB| Mathieu RICHARD 41/42

43 WEBOGRAPHIE 0le%20design%20pattern%20commande.doc 2009 PDB| Mathieu RICHARD 42/42

44 Générateur de documents 3D interactifs PDF U3D
Projet de Bachelor | RICHARD Mathieu | 2009


Télécharger ppt "Générateur de documents 3D interactifs PDF U3D"

Présentations similaires


Annonces Google