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