Qu`est-ce que le VRML ?

Transcription

Qu`est-ce que le VRML ?
Qu'est-ce que le VRML ?
L'histoire
1989 : l'idée du Web
Au CERN Tim Berners-Lee imagine un moyen de
communication efficace pour les chercheurs du centre
européen et leur faciliter les transferts de données de
types divers. Il développe un concept client-serveur, le
protocole du serveur est HTTPD, le format de description
des "pages" est HTML (Hypertext Markup Language)
dérivé de SGML, les données sont définies par leur type
MIME (Multipurpose Internet Mail Extension) : c'est le
World Wide Web (WWW ou Web). Les grands concepts
sont les liens hypermédia pour naviguer d'un élément
d'une page vers un autre document et l'URL (Uniform
Ressource Locator) qui situe précisément un document
sur la "toile" (~ adresse Web).
En 1993 le NCSA (National Center for Supercomputer
Applications) produit Mosaic le premier navigateur doté
d'une vraie interface (Marc Andressen). C'est le début du
développement de l'Internet accessible au grand public.
Texte, images, sons, animations sont sur le Web.
La 3D sur Internet
En 1994 Mark Pesce et Toni Parisi expérimentent la
possibilité de 3D sur le Web à partir des travaux du
CERN. Ils présentent Labyrinth à la 1ère Conférence
WWW à Genève. David Ragett (Hewlett Packard) y
présente le concept de "Virtual Reality Markup
Language". Brian Behlendorf (de la revue Wired)
propose à Mark Pesce d'accueillir un forum de discussion
WWW-VRML (juin). Le but de ce forum est de
concevoir les spécifications de VRML un langage
indépendant des plates-formes en liaison avec le World
Wide Web, utilisable dans les visualiseurs, les logiciels
de création et autres outils.
On cherche à faire évoluer un format existant pour rendre
possible son utilisation sur l'Internet. Le choix se porte
rapidement sur le format ASCII de Open Inventor, boîte à
outils développée par Silicon Graphics permettant de
créer des applications graphiques 3D. Ce format
correspond au cahier des charges de VRML, il permet la
description de scènes 3D complètes avec rendu des objets
sous forme de polygones, le traitement de l'éclairage, des
textures et d'autres effets. Il connaît également une large
diffusion, et de nombreux outils sont disponibles pour le
développement.
Silicon Graphics s'implique et met dans le domaine public
le format ASCII de Open Inventor et fournit QvLib un
analyseur syntaxique (fin 1994) qui permet le
développement rapide d'outils de visualisation. Les
spécifications définitives de VRML 1.0 sont publiées en
mai 1995, VRML devient alors Virtual Reality
Modeling Language. Les premiers visualiseurs
apparaissent alors rapidement : Webspace puis Portal,
Worldview, etc. En août 1995 : le VRML Architecture
Group (VAG) prend en charge les destinées de VRML,
en liaison avec le forum VRML.
VRML a donc cette particularité d'être l'unique
langage créé par des utilisateurs, pour leurs propres
besoins.
Rapidement pourtant, les utilisateurs perçoivent les
limites du langage. Le VRML 1.0 ne peut qu'afficher des
objets, et inclure des hyperliens. Aucun support
d'animation par exemple n'est prévu or le besoin se fait
sentir et plusieurs sociétés : Netscape, Worlds, Sony
créent des extensions propriétaires à VRML 1.0.
Dès lors, l'unification autour d'un seul et même langage
est remise en cause, et il devient alors nécessaire de créer
rapidement un nouveau format, plus souple et plus
complet , accessible à des non-programmeurs, permettant
des interactions avec des documents VRML 1.0, HTTP,
Java, TCL, JPEG, constituant un standard ouvert et libre
de droits, et incluant des comportements permettant des
animations complexes d'objets.
Un appel à propositions est lancé et en février 1996, six
projets sont reçus (Microsoft, GMD, Sun, SGI, Apple,
IBM) et Moving Worlds présenté par Silicon Graphics est
plébiscité. Après amendements, les spécifications
définitives de VRML 2.0 sont publiées en août 1996.
Début 97, le VAG (VRML Architecture Group) devient
le VRML Consortium. Les dernières modifications
apportées aux spécifications de VRML 2.0 sont connues
sous le nom de VRML 97, elles ont fait l'objet d'une
procédure de normalisation ISO qui a abouti en
décembre 1997 (norme ISO/IEC 14772-1:1997). Pour
refléter les évolutions de VRML et l'émergence des
nouveaux outils pour la 3D sur l'Internet (java3D,
MPEG4, etc.), le VRML Consortium devient WEB3D
Consortium. (www.web3d.org). Le développement de
VRML se poursuit, et des groupes de travail du WEB3D
Consortium ont pour tâche de développer des extensions
multi-utilisateurs, la définition des formats des avatars, un
format binaire, étudier les relations avec différents
langages, etc. Le consortium travaille actuellement sur un
nouveau format baptisé X3D, il est basé sur XML et a
pour contrainte d'être compatible avec VRML.
Présentation
VRML est défini dans la norme VRML97 comme "un
format de fichier pour la description d'objets et de scènes
3D. VRML a été créé pour être utilisé sur l'Internet, en
Intranet, ou sur des postes clients autonomes. L'objectif
de VRML est aussi de servir de format universel
d'échange pour le graphisme 3D et le multimédia". Ses
domaines d'application sont la visualisation scientifique et
technique, les présentations multimédia, les applications
éducatives et ludiques, les pages Web ou les mondes
virtuels partagés, etc.
VRML, Virtual Reality Markup Langage (traduit en
français par "langage de modélisation de la réalité
virtuelle") est un langage qui permet la création et la
diffusion de mondes virtuels et interactifs sur Internet.
VRML est un langage de description d'objets et de scènes
3D conçu pour le Web, de manière à satisfaire à 3
principaux critères :
- indépendance de la plate-forme (Windows, MAC OS,
UNIX etc..)
- extensibilité
- travailler avec une faible bande passante (modem 14.4
kBps ).
VRML devait être "un langage indépendant des
plates-formes, en liaison avec l'Internet et utilisable dans
tous les logiciels 3D et les visualiseurs".
La notion de réalité virtuelle implique immersion,
interaction, la réalité virtuelle ne nous parait pas être le
premier objectif de VRML. Cependant aux États Unis
"Virtual Reality" et "Cyber Space" et donc Internet sont
souvent confondus.
La modélisation c'est la création d'une représentation
numérique. Modélisation est certainement le mot le moins
discutable, la signification initiale du "M" : "Markup" (à
ferrets) était également parfaitement fondée du fait des
liens possibles sur des objets d'une scène.
Langage se rapporte à la programmation, le terme
langage est quelque peu abusif. En effet VRML n'est pas
un langage de programmation tels que peuvent l'être le C,
le C++ ou Java, même si quelques éléments tels que
l'instanciation des données, la définition des types de
données, les mécanismes d'interactions et d'animations
peuvent faire penser à un langage.
Par commodité, nous emploierons "le langage" pour
parler de VRML.
Une bonne définition de VRML serait :
Format de description de scènes 3D interactives
avec hyperliens pour l'Internet (cyber espace)
Visualisation des scènes VRML
Un fichier VRML définit un monde quadri-dimensionnel
(représentation graphique en trois dimensions et gestion
du temps); l'utilisateur y est représenté par un avatar,
objet qui le caractérise dans ce monde (encombrement,
perception du monde, ...), et le visualiseur est chargé de
gérer les interactions utilisateur avatar-monde VRML,
comme par exemple la vue du monde à l'écran en
fonction des déplacements de l'avatar commandés à la
souris ou les interactions avec les objets de la scène, etc.
L'aspect d'une scène peut aller du plus simple (filaire,
couleurs unies) à des scènes texturées (images mappées),
ou précalculées en radiosité, la qualité du rendu dépendra
ensuite des possibilités de l'outil de visualisation.
Dans un fichier VRML, il est possible d'utiliser, tout
comme dans le langage HTML, des hyperliens vers une
position différente de la scène, une autre scène VRML,
vers des pages HTML, du son, de la vidéo, etcÖ VRML
sait gérer du texte, fonctionnalité intéressante dans le cas
du menu d'un site Web en 3D par exemple, le son spatial,
il peut aussi intégrer des images ou de la vidéo.
Pour visualiser une scène VRML et pouvoir explorer cet
univers virtuel, l'utilisateur doit posséder un visualiseur
VRML. Un visualiseur VRML (VRML browser), est un
logiciel qui traduit un fichier VRML en une
représentation 3D et calcule les images de la scène vue
par l'utilisateur. Il présente une interface de navigation
plus ou moins élaborée permettant de définir un certain
nombre de paramètres comme la qualité du rendu, le
mode de navigation, la sélection d'un point de vue, etc.
Figure 1 : Fonctionnement d'un visualiseur
Les données fournies par un serveur, via l'Internet sont
reçues par la machine cliente. La scène VRML devra être
affichée et répondre aux caractéristiques qu'a souhaité
mettre en oeuvre son auteur : c'est le rôle du visualiseur
(VRML browser), il peut fonctionner en co-navigateur
(plugin) ou de manière autonome (standalone) par rapport
au logiciel de navigation. Les données sont chargées par
le logiciel de navigation, qui reconnaît le format MIME
correspondant à VRML et va faire appel à un
co-navigateur (plugin), pour afficher la scène. Un plugin
est un programme modulaire qui se greffe à un navigateur
Internet (Netscape Navigator ou Internet Explorer étant, à
l'heure actuelle, les plus utilisés), l'affichage se fait dans
une zone contenue dans une page HTML. Les logiciels
autonomes peuvent aller chercher les données
directement sur l'Internet et peuvent être lancés comme
visualiseur externe au logiciel de navigation, cette
solution est de moins en moins utilisée. Les fichiers créés
ou sauvegardés en local pourront être visualisés
ultérieurement dans les mêmes conditions.
Dans nos différentes applications, nous utiliserons le
logiciel de navigation Netscape 4.5 et le co-navigateur
VRML développé par Silicon Graphics puis
CosmoSoftware : CosmoPlayer 2.1 seule solution à
fonctionner à la fois sur Mac, PC et stations de travail
SGI. Par ailleurs CosmoPlayer est le visualiseur le plus
respectueux de la norme VRML et permet d'utiliser la
technique de l'EAI (pilotage de la scène VRML par une
applet Java).