VRML Worlds, Mondes VRML

Membre de ClickFR, Reseau francophone Paie-Par-Click

Présentation du X3D

 Le Web3D Consortium a présenté au Siggraph 2001 le X3D, le langage qui va succéder au VRML. L'occasion pour nous de vous de faire un point sur le VRML et pour vous résumer les objectifs du X3D.

Historique du VRML
Le VRML 2.0 et le WEB3D, aujourd'hui
La réponse, le X3D
Le principe des components et des profiles
La comptatibilité VRML 2.0
Le WEB3D garde un oeil sur les évolutions
Le XML en plus
Conclusion
Ressources

Historique du VRML

1995 : Le VRML 1.0

Grâce au travail de Mark Pesce et Tony Parisi, le VRML 1.0 voit le jour en 1995. Le HTML est utilisé pour décrire le contenu des pages d'information sur le WEB, le VRML sera utilisé pour décrire les scènes en 3 dimensions sur Internet.

1997 : le VRML 2.0 ou VRML97

Le VRML 1.0 connaît un grand succès, nombre de navigateurs fleurissent sur le Web et nombre d'internautes s'y intéressent.
Certains navigateurs proposent même des fonctionnalités supplémentaires, comme la navigation de monde en monde, l'animation etc.
Il est temps de réfléchir à une nouvelle spécification du VRML. Un concours est lancé et c'est la spécification " The Moving VRML Worlds " (Mondes animés) qui est choisie. Elle est issue principalement des sociétés SGI, Sony et Mitra. VRML97 ou VRML 2.0 est né.
Il intègre maintenant des fonctions évoluées d'animations et d'interactions avec l'utilisateur, l'intégration de codes Javacripts, l'accès aux données de la scène depuis l'extèrieur (principe EAI) et les prototypes.

Le VRML 2.0 et le Web3D, aujourd'hui

Pour l'époque, Le VRML 2.0 était réellement puissant et incontournable.
Aujourd'hui, même si les ressources VRML sont nombreuses, fleurissent des plug-in propriétaires d'affichage de 3D et depuis un an, beaucoup d'acteurs de la 3D se tournent vers ces solutions.
Pourquoi ?

Difficulté de mise en oeuvre

VRML 2.0 est un langage de description de mondes virtuels complet et très puissant.
Il est par contre difficile à maîtriser. Il est difficile, par exemple d'écrire un outil de modélisation graphique (comme Spazz3D) tirant partie de toutes les possibilités du langage
Il est aussi difficile d'exporter ou d'importer une scène en VRML dans un éditeur lorsqu'elle comporte des animations ou des interactions.
En fait, le VRML 2.0 est un langage qui se pratique principalement sous un éditeur de texte, surtout pour programmer les interactions.
Cette technologie n'est donc pas accessible à tous.

Pauvreté des possibilités de rendu

Malgré les prototypes (qui permettent d'ajouter de nouveaux types de noeuds au langage), les spécifications du langage sont assez rigides. Il est impossible d'ajouter de nouvelles fonctionnalités à une scène VRML sans transgresser ou devoir contourner les spécifications.
Les scènes VRML sont donc la plupart du temps dépourvues des dernières possibilités technologiques tels que le son ou la vidéo en flux, le " bumpmapping ", l ' " environnement mapping ", la réflexion, les ombres, les NURBS (courbes) etc.).
Les éditeurs les plus connus de navigateur VRML ont bien ajouté certaines de ces fonctions, mais elles restent spécifiques à leur navigateur et sont donc très peu utilisées.
Il est donc apparu sur le marché des langages et des viewers permettant d'aller beaucoup plus loin dans le réalisme d'un objet tels que Vet de ViewPoint qui donnent effectivement des résultats excellents en terme de réalisme.

La réponse du Web3D Consortium : X3D

Le X3D est le successeur du VRML 2.0. C'est le fruit du travail du groupe de travail du Web3D consortium plus récemment du " Browser Working Group ".
X3D veut dite eXtensible 3D. L'objectif de cette spécification est de donner un langage évolutif, qui permet d'ajouter facilement de nouvelles fonctions aux scènes 3D.

Le principe des components et des profiles

Les components (composants) sont des ensembles de nœuds ou des ensembles de fonctionnalités qui permettent de décrire une scène 3D. Au début d'une scène, l'utilisateur doit donner la liste des components qu'il compte utiliser.
Par exemple :

#X3D component :geometry :1

Chaque component peut posséder des niveaux d'implémentations. Ici, l'utilisateur veut utiliser les composants de type geometry (indexfacedFace, box etc.) de niveau 1.

#X3D component :streaming :1

Ici, l'utilisateur compte utilise les fonctions de streaming de niveau 1.

Les profiles sont des ensembles de components. Les profiles permettent aux utilisateurs de ne pas forcément avoir à liste l'ensemble des composants pour un typer d'utilisation. Par exemple,

#X3D profile :base

Permet d'utiliser toutes les fonctions du VRML 2.0

L'intérêt de cette gestion de composants et de profils est que tous les logiciels permettant d'afficher ou de générer du X3D ne sont pas obligés d'implémenter toutes les fonctions possibles de X3D.
De même, une société exerçant un métier particulier et ayant besoin de 3D (par exemple les géologue avec GeoVRML) pourra implémenter ses propres fonctions.
De même, les fonctions d'affichage évoluées (Nurbs, réflexion, bumpmapping … )pourront être facilement ajoutées au langage et facilement intégrée dans les navigateurs existant.

La comptabilité avec le VRML 2.0

Le X3D garde une entière comptabilité avec le VRML 2.0. Les fichiers VRML 2.0 seront entièrement lisible sur un navigateur X3D.
Toutes les fonctions du VRML 2.0 sont donc gardées dans X3D. Ces fonctions sont cependant séparées en deux profiles différents :

Les fonctions du VRML 2.0 ont été dissociées car le Web3D consortium a remarqué qu'il était difficile pour un éditeur d'intégrer toutes ces fonctions. La spécification du VRML 2.0 était monolithique, un éditeur désirant intégrer cette technologie devait l'implémenter dans sa totalité.

Avec le X3D, une entreprise désirant développer un logiciel n'affichant que des scènes simples dépourvues d'interactivité peut tout de même utiliser le X3D, en n'implémentant que le profile X3D-1.

Cela promet une utilisation plus large de X3D.

Le Web3D Consortium garde un oeil sur les évolutions

Donc tous les acteurs du Web3D pourront ajouter leurs propres fonctions au X3D. Mais comment ne pas éviter l'explosion de fonctions plus ou moins semblables, où chaque éditeur aurait ses propres usages et où il serait impossible de s'appuyer sur le X3D pour décrire une scène réellement standard et affichage sur tous les navigateurs du marché ?
Chaque nouveau niveau de composants ou chaque nouvelle fonction sera soumis au groupe de travail du X3D, qui garantira une évolution cohérente de la norme.
Les composants validés par le groupe X3D porteront le préfixe X3D_ et les autres se contenteront d'un EXT_.

Le XML en plus

Un fichier X3D pourra être écrit " à l'ancienne ", c'est à dire comme un fichier VRML 2.0 ou en XML. Cette option va, elle aussi, permettre une intégration du langage plus facile dans les outils actuels de gestion de l'information et de navigation.
Un DTD est en passe d'être validé, le voici.

Mais alors, rien de nouveau ??

En fait, non ... pas vraiment ! Le X3d est juste une refonte du VRML 2.0 en plusieurs sous-ensembles dans l'objectif :
- De faciliter son intégration dans les logiciels du marché, ceux ci pourront implémenter une partie des spécifications à un niveau donné, sans avoir à implanter l'ensemble du langage.
- De permettre à tous les acteurs du Web3D d'y ajouter de nouvelles fonctionnalités afin de suivre l'évolution du marché et la puissance des machines, sans remettre en cause le langage lui-même.

Ce nouveau langage se fait attendre depuis maintenant plus d'un an, les inconditionnels de la 3D temps réel " réaliste " seront certainement déçus car le X3D ne comporte pas de réelles évolutions. Cependant, s'il est adopté par la majorité de la communauté 3D, il est suffisamment ouvert (via le XML) et tourné vers l'avenir (grâce à sa grande capacité d'adaptation) pour devenir LE langage de description des mondes virtuels dans les années qui viennent.

Jean-Michel Flamant
Copyright VRML Worlds 2001

Ressources

Traductions en français des articles sur le X3D et présentation de Xj3D, le browser X3D en Java et en Open Source sur le site  de <Web3D by Ap0>

Le site X3D du Web3D Consortium

La partie X3D du VRML Repository

Le Web3D Consortium

Le DTD du X3D

VRML Worlds vous tiendra au courant des évolutions du langage et de outils permettant de l'utiliser.


 Accueil de VRML Worlds   CHAT 3D   Autres technologies Web3D 
 Des textures   Apprendre le VRML   Autres mondes multi-user 
 Les objets du chat   Outils pour le VRML   Autres sites 3D 

Réagir, nous proposer un site, participer ...