Diapositive 1

Download Report

Transcript Diapositive 1

Par Diallo Belko Abdoul Aziz et présenté aux Prof. Thierry Badard et Frédéric Hubert

Mise en contexte (1)

Domaines d’applications

- Conception & ingénierie (carto 3D, CAO, etc.) - Navigation et exploration de mondes réels, augmentés ou

imaginaires (GPS 3D, simulation de la vie sur Mars, etc.)

- Éducation, divertissement, multimédia (jeux 3D, …) - Plus généralement, création artistique et infographie

personnelle ou professionnelle (tableaux, design, création de maquettes 3D pour l’industrie et d’avatars sur le web, ..)

- Etc.

Mise en contexte (2)

Apparition de nouveaux concepts

- 3D temps réel :

rendu immédiat des données (par opposition à la 3D pré-calculée.)

- réalité virtuelle :

« La réalité virtuelle est une simulation informatique interactive immersive, visuelle, sonore et/ou haptique, d’environnements réels ou imaginaires. » (wikipedia)

- réalité augmentée :

« Par système de réalité augmentée on entend un système (au sens informatique) qui rend possible la superposition d'un modèle virtuel 3D ou 2D à la perception que nous avons naturellement de la réalité et ceci en temps réel. » (wikipédia)

Mise en contexte (3)

Enrichissement du contenu 3D Permet la prise en charge de :

-Toutes sortes de géométries (simples, complexes,

agrégées, en réseau, etc)

-Texturage et multi-texturage, - Rendus fluides et impressionnants - géolocalisation et données géo-spatiales - animations, interaction, immersion - 3D temps réel - réalité virtuelle presqu’identique à la réalité « réelle » - réalité augmentée - etc…

Mise en contexte (4)

Explosion et vulgarisation grâce au web Concerne tous les aspects de la 3D :

-Depuis les API 3D de base (DirectX, OpenGL), -Les modeleurs (3D Studio Max, Google SketchUp, AC3D,

Maya, Blender , etc),

- En passant par les moteurs 3D (OGRE , Irrlicht), - Les moteurs physiques (ODE (Open Dynamic Engine)), - Jusqu’aux formats de stockage des données (3DS, MD2,

MD3, MD5, OBJ, ASC, ASE, X3D, COLLADA, etc), toute fois restés majoritairement propriétaires.

Mise en contexte (5)

Problématique du stockage des données 3D Que veut-on créer?

-Tous les formats de données ne supportent pas toutes les

opérations possibles avec la 3D dans son ensemble.

Ex: OBJ ne gère pas les animations Avec qui ?

-La grande majorité des formats de données sont

propriétaires, complexes et incompatibles entre eux.

limite l’échange et la vulgarisation des données. Ainsi que le travail collaboratif. Solution lourde : traducteur de formats.

Comment? facilement, difficilement , impossiblement

Mise en contexte (6)

Problématique du stockage des données 3D Grande question : Comment créer des contenus 3D riches, interactifs, immersifs, des mondes virtuels ou des réalités augmentées accessibles à tous si les formats de données ne le sont pas?

Bonnes réponses (que nous allons étudier de près): Formats de données ouverts, normalisés et basés sur la simplicité et l’expressivité et l’accessibilité des technologies XML.

- X3D par le consortium Web3D - Collada par le Kronos Group

Objectifs de l’étude (1)

Objectifs spécifiques à atteindre Pour chaque format, couvrir les points essentiels :

-Historique, - Spécifications de base, -Mode de fonctionnement, - Possibilités d’extension, - Syntaxe d’écriture, - Produits et applications existants, - Manipulation par l’exemple, - Communauté de développement, - Enjeux,

Objectifs de l’étude (2)

Objectifs spécifiques à atteindre Grande question : Comment créer des contenus 3D riches, interactifs, immersifs, des mondes virtuels ou des réalités augmentées accessibles à tous si les formats de données ne le sont pas?

Bonnes réponses (que nous allons étudier de près): Formats de données ouvert, normalisé et basé sur la simplicité et l’expressivité des technologies XML.

- X3D par le consortium Web3D - Collada par le Kronos Group

X3D (1)

Le WRML - Historique

-

VRML = Virtual Reality Modeling Language Markup Language ou Virtual Reality

-Mis au point en 1995 grâce aux travaux de

Parisi, Gavin Bell Graphics) .

(Silicon Graphics) Version 1.0 . Franc succès.

Mark Pesce, Tony et Paul Strauss (Silicon

- En 1997 :

Sortie de la version 2.0 ou VRML 97 avec prise en charge de l’animation, de l’interaction avec l’utilisateur, du code javascript, etc. Très complet et puissant.

X3D (2)

Le WRML – Historique En 1997 (toujours) :

- Naissance du concept de Web3D qui renvoyait au concept de

navigation web entièrement 3D avec des hyperliens reliant les contenants entre eux.

- Aujourd’hui, le concept de web3D désigne plus largement,

« tous les contenus en 3d interactive qui sont intégrés à des pages html, et que l'on peut visualiser par l'intermédiaire de son navigateur web. Soit : "la 3D sur le Web". » (fr.Wikipedia.org, 2008)

Le WRML - Exemple

- La planète Terre en 3D

Résultat Source

X3D (4)

X3D (5)

Le WRML - Limites

- Langage de description de mondes virtuels assez particulier

du point de vue de sa syntaxe hiérarchique et renvoyant à la notion de programmation. très complexe et difficile à maitriser pour certains. Mais pas raison suffisante à mon avis.

- Difficulté d’import\export de scènes comportant des

animations ou des interactions,

- Difficulté d’écrire un éditeur graphique pour le langage

programmation par éditeur de texte. ;(

-Rendus pauvres et limités, absence de mapping, et

possibilité d’extension difficile (spécification assez rigide)

- Etc

X3D (6)

Le X3D

-X3D = eXtensible 3D

.

- « Format de fichier graphique et multimédia orienté 3D »

(fr.wikipedia.org 2008)

- Entièrement réécrit en XML (multiplateforme, openSource) - Successeur du WRML 97 - Lancé en 1999 par le consortium web3D - Normalisé par l’ISO en 2005.

(ISO/IEC-19775, ISO/IEC-19776 , ISO/IEC-19777)

X3D (7)

Structure générale de s spécifications Les spécifications du standard X3D sont décrites et expliquées en détails à travers 3 documents ISO :

- ISO/IEC-19775, Extensible 3D (X3D) - ISO/IEC-19776, X3D encodings - ISO/IEC-19777, Extensible 3D (X3D) language bindings

X3D (8)

ISO/IEC-19775:2004

-Est intitulé « Extensible 3D (X3D).» - Nom complet de la norme :

« Information technology — Computer graphics and image processing — Extensible 3D (X3D). »

- Décrit l’architecture et le fonctionnement de X3D - Comporte 2 parties

X3D (9)

ISO/IEC-19775:2004

- Partie 1 : Architecture and base components -Décrit la spécification fonctionnelle théorique du

framework X3D, et les définitions des différents composants et profiles normalisés.

- Partie 2 : Scene access interface (SAI) -Décrit la spécification fonctionnelle théorique de

l’interface d’accès aux scènes X3D par l’environnement d’éxécution.

X3D (10)

ISO/IEC-19776

-Est intitulé « X3D encodings.» - Nom complet de la norme :

« Information technology — Computer graphics and image processing — X3D encodings. »

- Décrit et définit les trois types d’encodages

supportés par le langage : XML, WRML classique et XML binaire.

X3D

- Comporte 3 parties

X3D (11)

ISO/IEC-19776 Partie 1 : XML file encoding of an X3D world Définit la spécification d’encodage des données 3D en XML classique ainsi que le DTD qui va avec.

[.x3d; type MIME = model/x3d+xml ] Partie 2 : Classic VRML Encoding Définit la spécification d’encodage des données 3D en VRML classique avec les conditions et la syntaxe requises.

[.x3dv ou .vrml; type MIME= model/x3d+vrml ] Partie 2 : Binary Encoding Décrit et définit les modalités d’encodage en XML binaire.

[.x3db ; type MIME = model/x3d+binary ]

.

X3D (12)

ISO/IEC-19777

-Est intitulé « Language bindings.» - Nom complet de la norme :

« Information technology — Computer graphics and image processing — language bindings. »

- Décrit et définit les types d’intégration possibles au

langage d’API de programmation tels que ECMAScript et Java.

- Comporte 3 parties

X3D (13)

ISO/IEC-19777 Partie 1 : ECMAScript

-Spécifie les liaisons d’accès à l’interface des scènes

interactives 3D via le langage ECMAScript (API, etc) pour la réalisation d’interactions internes ou externes (accès à des applications externes) Partie 2 : Java

-Idem que ci-haut, mais pour Java.

Architecture

X3D (14)

X3D (15)

Apports par rapport au VRML

- Supporte plus de contenus riches et interactifs - Permet de réduire ou d’étendre les capacités des

librairies suivant les fonctionnalités de l’application X3D èa déployer au lieu de tout embarqué par défaut comme c’était le cas avec le VRML.

- Possibilité de choix de niveau de qualité, de profiles ou

de composants.

- Etc.

Organisation globale du langage

X3D (16)

- La spécification de X3D définit un ensemble de

nœuds regroupés en nœuds et en composants avec pour chaque composant, la précision de son niveau (level)

X3D (17)

Notion de noeud

- Les nœuds sont les éléments de base du

langage et sont similaires aux nœuds XML classiques avec des spécifiés fonctionnelles bien précises.

X3D (18)

Nœuds et champs X3D Object model X3D Dérivation Send Event X3DFields Objects Fields Receive Event Set Of X3DNodes Objects Dérivation Nodes Set Of Store Data

X3D (19)

Notion de profile

- Les profiles sont des sous-ensembles nommés

des spécifications 3XD.

- Ils sont construits par regroupements de

fonctionnalités et de composants X3D partageant la même caractéristique de mise en œuvre.

- Permet de choisir un profile suivant ses besoins

au lieu de tout embarqué par défaut

- Ex :

Notion de profile

X3D (20)

Profils Additionnels : - MPEG-4 Interactive, CDF (CAD Distillation Format)

X3D (21)

Le profile GeoSpatial

- Dérivé de géoVRML - permet la représentation et l’affichage de données

spatiales et de données géo-référencées dans des applications non spatiales (applications web par exemple)

- Permet d’intégrer les données spatiales et les

données non spatiales à travers les services web

X3D (22)

Notion de niveau d’un composant

- X3D supporte à différents niveau ou qualité de

service, la gestion correcte de composants, sur une échelle numéroté oû un plus grand chiffre signifie un plus grande qualité de service.

1.La présence (ou l'absence) d’objet (feature); 2. Amélioration de l'appui d’un objet particulier; 3.Plus

de rigueur sémantique 4. Plus strictes exigences de conformité.

défini,

X3D (23)

Organisation générale d’un fichier X3D

- découpage très similaire au langage HTML -Comprend un grand bloc X3D comprenant deux sous-blocs: - une entête « head » comprenant des balises de méta-

noms (metaname)

- un corps « scene » qui est la partie réservée à la

description des scènes avec possibilité d’imbrication de scènes

- Ces blocs sont précédés par : - la référence à XML

et à son DTD

Exemple de fichier X3D

X3D (24)

Cliquer Ici

X3D (25)

lecteur de X3D

- Les navigateurs web les plus répandus (IE, Mozilla) ne lisent

pas par défaut le X3D (pour l’instant). Cela demande l’installation d’un player « lecteur » X3D sous forme de plugIn.

- Il en existe plusieurs sur le web gratuitement, dont :

- Flux Player devenu Vivaty Player - SwirlX3D Free Player - Octaga - BitManagement BS Contact

-Il existe un navigateur spécialement conçu pour supporter du

X3D, il s’agit de Xj3D, développé en Java

X3D (26)

Éditeur et modeleur supportant du X3D

- Il en existe plusieurs depuis de simples éditeurs de textes

jusqu’aux éditeurs graphiques et modeleurs :

X3D-Edit 3.2

SwirlX3D Editor Blender Vivaty Studio AC3D - Etc (modeleur tourné vers le X3D)

X3D (27)

Exemple de création de mondes virtuels

- Exemple de création de mondes virtuels avec Vivaty Studio :

Version 1.0 Beta Voir vidéo

X3D (28)

- Regroupe

débutants.

de très nombreux acteurs depuis les professionnels (Industrie, Universités) jusqu’aux individus

- Surtout orientée vers la publication sur le web, le Tchat 3D,

les réseaux sociaux

- Très active dans le domaine du libre - a permis la création de plusieurs sociétés et d’emplois à

travers le monde

X3D (29)

- de plus en plus utilisé et supporté par de nombreux

modeleurs, Fait face à :

- des concurrents directs comme :

Intel avec U3D , Microsoft avec XAML , Dassault Systèmes avec 3D XML mais a l’avantage d’être ouvert et normalisé.

-Et indirectement, à Flash en matière de publication animée et

3D pour le Web.

- Travaille actuellement en collaboration avec l’équipe de

Collada afin d’étendre les capacités des deux langages et l’interopérabilité entre eux.

X3D (30)

- Contenu impressionnant - Affichage temps réel très appréciable -Très documenté, parfois un peu trop :( - Site web bien organisé et complet - communauté très active et présente (foras de discussions,

tutos, etc)

- Pas vraiment difficile à apprendre

Collada (1)

Définition

- COLLADA = Collaborative Design Activity. -Lancé en 2005 par le Kronos Group -Format d'échange pour les applications

3D interactives.

- Standard de schéma

XML ouvert

- Extension .dae («digital asset exchange», traduit par

«échange numérique d'acquisition»).

- Initialement souhaité par Sony pour servir de pipeline aux

concepteurs de jeux

Structure générale de s spécifications

Collada(2)

En un seul document de 10 chapitres et 552 pages, décrit les concepts, l’architecture et les différentes composantes du format.

- Aucune mention de numéro identifié par un organisme de normalisation; et pourtant dans la documentation, il est question de standard.

Collada (3)

Organisation générale d’un fichier Collada

-Organisation en nœuds d’assets (acquisitions) et de librairies,

d’extras (ensemble de technique particilière) et de scène à l’intérieur d’un bloc englobant qui spécifie le schéma Collada.

-Quelques exemple de nœuds de librairies : - library_images, library_materials, library_effects - library_geometries, library_visual_scenes, etc.

Architecture DOM

Collada(4)

Modèle Objet

Collada(5)

Collada(6)

Exemple de fichier Collada Source (teaPot) Intégration et Visualisation avec flash+PaperVision

Collada (7)

Plugin pour Collada

- Les applications 3D ont besoin de plugins pour pouvoir

importer ou exporter du collada.

Exemples d’outils 3D de lire du collada

- Autodesk 3DS Max, - Autodesk Maya, Softimage, - Caligari TrueSpace, - Cinema 4D, - Cheetah 3D , - Blender 3D - Vivaty Studio - etc

Collada (8)

- Regroupe

débutants.

de très nombreux acteurs depuis les professionnels (Industrie, Universités) jusqu’aux individus

- Surtout orientée vers la production de jeux, - Très active dans le domaine du libre, mais travaille surtout

rendre des applications propriétaires compatibles entre elles.

- a permis la création de plusieurs sociétés et d’emplois à

travers le monde

- Mais foras de discussion moins nombreux par rapport à X3D

Collada (9)

- Très utilisé et supporté par de nombreux modeleurs,

beaucoup plus rapidement que l’est X3D N’a pas de concurrents directs pour le moment, doit se focaliser à étendre et à finaliser certaines fonctionnalités telles que la 3D physique, l’interactivité, et la correction de bugs encore présents

- Travaille actuellement en collaboration avec l’équipe de

X3Dafin d’étendre les capacités des deux langages et l’interopérabilité entre eux.

Collada(10)

- Contenu impressionnant, moins interactif que X3D mais plus

fidèle dans le rendu.

- Affichage temps réel très appréciable (surtout dans Google

Earth)

-Assez bien documenté - Site web moins bien organisé et moins complet en terme

d’exemples, de tutos, de retour d’expérience.

- communauté très active et présente (foras de discussions,

tutos, etc)

- Structure de fichier un peu plus complexe que celle de X3D

X3D vs Collada (1)

- Absence cruciale d’articles sur ce sujet - Seul article trouvé, co-écrit par Collada et X3D

pour présenter les domaines d’intervention respectifs des deux.

- Comparaison technique conséquente demande

beaucoup de temps pour parcourir les spécifications et de maîtrise des deux formats.

X3D vs Collada (2)

Similarités de forme

- Formats de données basé sur XML - Formats d’échange (découle de XML) - Ouvert - pour données 3D

X3D vs Collada (3)

Différences de fond

Au niveau des objectifs - X3D : dédié à la diffusion et à la publication de données 3D pour le Web (en premier) même s’il peut être utilisé comme format d’échange entre applications 3D - Collada : Format intermédiaire dédié à servir de passerelle entre applications 3D. Initialement dédié aux éditeurs de jeux 3D

X3D vs Collada (4)

Différences de fond

Au niveau des fonctionnalités

-X3D : plus complet en terme de possibilités 3D -Collada : Collada ne gère pas la logique

applicative, n’assure pas développeur de l’application.

la sémantique d’éxécution. Cette tâche est laissée au

- X3D : gestion de la composante physique des

objets moins complète que celle de Collada

X3D vs Collada (5)

Suivant le domaine d’application

Pour la publication et l’échange sur le web : X3D

Pour la création de mondes virtuels : X3D

Pour la création de contenu numérique (DCC) : Collada

Pour l’échange entre outils 3D : Collada

Possibilité d’utliser les deux dans un cas de publication sur le web d’un contenu numérique 3D créé avec un outil 3D au format propriétaire.