44
GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

Embed Size (px)

Citation preview

Page 1: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D

Projet de Bachelor | RICHARD Mathieu | 2009

Page 2: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET DE BACHELOR

PrésentationU3DProjetRéalisationConclusion

2009 PDB| Mathieu RICHARD 1/42

Page 3: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PRESENTATION

PRESENTATION

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

Page 4: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PRESENTATION

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

Déroulement3 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

Page 5: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET DE BACHELOR

PrésentationU3DProjetRéalisationConclusion

2009 PDB| Mathieu RICHARD 4/42

Page 6: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

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).

2009 PDB| Mathieu RICHARD 5/42

Page 7: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

U3D

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 5/42

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.

Page 8: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

U3D

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 7/42

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.

Page 9: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

U3D

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 7/42

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.

Page 10: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

U3D

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 8/42

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.

Page 11: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

U3D

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 9/42

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,…)

Page 12: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

U3D

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 10/42

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,…

Page 13: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

U3D

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 11/42

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.

Page 14: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

U3D

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 12/42

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.

Page 15: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

U3D

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 13/42

Architecture : Modifieurs: Définissent le rendu final d’une entité de

la scène.

Page 16: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

U3D

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 14/42

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,…

Page 17: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

U3D

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 15/42

Blocs: Chaque bloc est encapsulé dans un structure identique :

Une champ block type permetd’identifier l’information et les Tailles de connaitre la taille des Données a lire. Le contenu du blocSe trouve dans la partie donnée.

Page 18: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET DE BACHELOR

PrésentationU3DProjetRéalisationConclusion

2009 PDB| Mathieu RICHARD 16/42

Page 19: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 17/42

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.

Page 20: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 18/42

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).

Page 21: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 19/42

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.

Page 22: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 20/42

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.

Page 23: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 21/42

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.

Page 24: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 22/42

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.

Page 25: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 10/19

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.

Page 26: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 25/42

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.

Page 27: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 26/42

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.

Page 28: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 27/42

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.

Page 29: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 28/42

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

Page 30: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 29/42

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.

Page 31: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET

PRESENTATION

U3D

PROJET

RELISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 30/42

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.

Page 32: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET DE BACHELOR

PrésentationU3DProjetRéalisationConclusion

2009 PDB| Mathieu RICHARD 31/42

Page 33: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

REALISATION

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 32/42

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.

Page 34: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

REALISATION

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 33/42

JAVA Cube exporté via la module

Page 35: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

REALISATION

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 14/19

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.

Page 36: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

REALISATION

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 14/19

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.

Page 37: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

REALISATION

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 36/42

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.

Page 38: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

REALISATION

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 37/42

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.

Page 39: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

REALISATION

PRESENTATION

U3D

PROJET

REALISATION

CONCLUSION

2009 PDB| Mathieu RICHARD 38/42

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.

Page 40: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET DE BACHELOR

PrésentationModèleImplémentationExempleConclusion

2009 PDB| Mathieu RICHARD 39/42

Page 41: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

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

Page 42: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

PROJET DE BACHELOR

2009 PDB| Mathieu RICHARD 41/42

Q&A

Page 44: GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009

GÉNÉRATEUR DE DOCUMENTS 3D

INTERACTIFS PDF U3D

Projet de Bachelor | RICHARD Mathieu | 2009