II- NAISSANCE DU LANGAGE VRML

Le langage VRML est un langage descriptif, permettant de disposer d'univers virtuels sur des réseaux de communications tels qu'Internet. De ce fait, il impose un compromis évident entre la quantité de données nécessaires pour visualiser un univers virtuel et le débit toujours trop faible des moyens de transmission de données employés sur les réseaux, comme nous allons pouvoir nous en rendre compte à travers l'histoire du langage et la description de son fonctionnement.


II-1- Une certaine conception du Web

La volonté d'une navigation intuitive

    Le langage VRML, "Virtual Reality Modeling Language", est né de la volonté de quelques uns de transformer les banales pages web en espace tridimensionnel. En effet, le web n'exploitait qu'une infime partie des ordinateurs en proposant de la mise en page assistée par ordinateur au travers du langage HTML. Certains voulaient pouvoir se déplacer sur Internet comme dans la réalité. L'idée était de créer un nouveau protocole de communication, le "Cyberspace Protocol", qui permettrait de réaliser cet objectif de navigation 3D. C'est ce souhait qui a donné naissance au langage VRML, qui tire partie de l'expérience d'HTML, puisqu'il est aussi conforme à la définition des langages descriptifs SGML, et qu'il est multi-plates-formes 44 . Ses fonctionnalités fournissent un moyen de transmission de l'information rapide.
   La réalité virtuelle n'ayant pas tenu toutes ses promesses, les chercheurs ont compris que ce n'était qu'une technologie et non une fin en soi. D'ailleurs, comme aime à le rappeler Mark Pesce, le père de ce langage, << Internet a été un espace pour l'intellect, nous sommes en train de le faire devenir un espace du coeur >>. Pour lui, les données ont plus de sens si elles sont sensuelles, et c'est cette volonté de construire un Internet à visage humain, plus habitable, hospitalier, intuitif et chaleureux qui l'a poussé à concevoir un nouveau mode de présentation de l'information.
   L'emploi de l'expression "réalité virtuelle" dans l'appellation VRML est à comprendre, selon Mark Pesce, dans le sens de communication et d'expérience, et non de réalité et d'immersion, même si ce langage peut être utilisé avec des interfaces de réalité virtuelle.

    Le langage VRML est au centre de cette réflexion révolutionnaire sur un Internet en trois dimensions. C'est pourquoi le terme est employé de manière générique et qu'on l'utilise aussi bien pour décrire le langage que le format de fichier utilisé, ou encore le concept de 3D sur le Web.





II-2- La concrétisation des concepts

Une initiative personnelle
    Mark Pesce est un consultant spécialisé dans le domaine des réseaux informatiques, qui a été très intéressé par la naissance d'une nouvelle entité au sein de l'Internet, le World Wide Web. Il a téléchargé le serveur NCSA dès octobre 1993 et est ainsi devenu le 300ème serveur Web. Mais il s'est senti rapidement frustré par le mode de navigation imposé par le langage HTML. Il en est ainsi arrivé à la conclusion qu'il fallait construire de toutes pièces un nouveau moyen de navigation. Il relève le défi et fait alors appel à Antony Parisi pour l'aider à la réalisation informatique de son projet. Tony Parisi est, quant à lui, un informaticien spécialiste de la programmation de logiciels et il fait ses débuts sur le web en janvier 1994. Ils arriveront en quelques mois à un résultat tangible.
   C'est le 17 février 1994 qu'a lieu le premier essai opérationnel du langage "Labyrinth". Le premier univers virtuel décrit par ce langage était une banane, et c'est cet univers qui a servi lors de la première démonstration de ce langage.

[banana.wrl]

Fenêtre Netscape Navigator, présentant le fichier banana.wrl.



L'engrenage du succès
    Après avoir matérialisé ce concept de langage descriptif d'univers en trois dimensions et de "Cyberspace Protocol" (CP), Mark Pesce envoie un message à Tim Berners-Lee, l'inventeur du web, pour lui demander son avis. La réponse ne se fait point attendre puisqu'il est directement invité à présenter son travail lors d'une table ronde de la première "World Wide Web Conference" qui se tient à Genève en mai 1994. Le sujet discuté par la table ronde est très important pour l'avenir du Web, puisqu'il s'agit de lui donner une troisième dimension. Le document qui servira de base à l'exposé de Mark Pesce est intitulé "Cyberspace". Il présente les résultats des recherches du projet "Labyrinth".
    C'est Dave Raggett qui a introduit la présentation de Mark Pesce, et c'est à cette occasion qu'il a mis en évidence la nécessité d'un langage hypertexte multi-plates-formes pour présenter de l'information en trois dimensions, langage qu'il nomme "Virtual Reality Markup Language", VRML. L'intervention de Mark Pesce se présente alors comme une illustration de ce concept. C'est ainsi que le langage prit le nom de VRML, à une modification près, puisque le "M" de VRML fut rapidement transformé en "Modeling". Cette substitution privilégie la dimension graphique du langage sur son origine informatique de réseau.
   Pendant la conférence, Mark Pesce rencontre Brian Behlendorf qui travaille pour le magazine Wired45 . Ce dernier propose à Mark Pesce d'héberger une liste de diffusion46 consacrée à ce nouveau langage. La communauté intéressée par le sujet a grandi très vite, puisque, parti d'une vingtaine de participants à la table ronde, on comptait, au bout d'une semaine, plus de 2 000 personnes inscrites à la liste de diffusion.
   C'est au travers de cette liste de diffusion, dont Mark Pesce a été le premier modérateur47 , que sont mis en place les concepts de VRML. Tout le monde s'accorde en particulier à élaborer un standard et non un produit commercial. L'objectif de cette liste est de définir une première version des spécifications48 du langage VRML (VRML 1.0). Le langage VRML est conçu sur le mode des langages SGML, c'est à dire qu'il est descriptif. Une page VRML détaille ainsi une succession de formes géométriques que l'interpréteur doit reconstituer par calcul et dessiner. En pratique il faut faire appel à une librairie de primitives graphiques49 . Plutôt que de constituer l'ensemble de cette librairie, et afin de définir rapidement les premières spécifications, le choix a été fait d'utiliser une librairie existante. Mais il faut en trouver une qui soit compatible avec les objectifs fixés pour le langage et libre de droit.
   Plusieurs propositions de librairie graphique ont été faites, et notamment : "OOGL", "Object Oriented Geometry Language" de l'université du Minnesota ; "CDF", "Cyberspace Development Format" de la firme Autodesk ; et "MSDL", "Manchester Scene Description Language" de l'université Britannique de Manchester. Mais le choix s'est porté sur la librairie d'objets "Open Inventor" de la société Silicon Graphics Inc., SGI, qui était utilisée pour le prototypage rapide d'objets 3D. Ce choix s'est fait pour plusieurs raisons, et en particulier parce que SGI a choisi de céder les droits sur ce langage. C'est un point primordial : puisque VRML a pour objectif de devenir un standard, les éléments qui le constituent ne doivent pas être "propriétaires" mais au contraire appartenir au domaine public.
   Ce choix effectué, Tony Parisi et Gavin Bell, l'un des principaux concepteurs d'Open Inventor avec Paul Strauss, présentent le 17 octobre 1994, lors de la seconde conférence internationale du World Wide Web, le premier brouillon des spécifications de VRML 1.0. Puis en décembre 1994, Open Inventor a été traduit et devient "Qv Lib". Cette traduction a permis de lancer le développement des navigateurs VRML pour toutes les plates - formes.
   Depuis cette date, le succès est allé grandissant puisque de nombreuses entreprises se sont ralliées pour le soutien de ce langage, le premier langage de description qui permette de présenter, par le biais du Web, des univers virtuels texturés. VRML permet en outre de gérer le rechargement des documents et de dimensionner facilement les éléments de l'univers.





II-3- Description du langage

Un langage de description d'univers tridimensionnels doit fournir les informations nécessaires à leur constitution. En particulier il doit permettre de décrire les éléments de l'univers. Revenons quelques instants sur la manière de construire un univers virtuel.


Un univers en trois dimensions

    Les images de synthèse en trois dimensions sont tout d'abord modélisées selon une structure de type fil de fer, que l'on nomme aussi filaire. Dans une telle structure, l'image se compose d'un ensemble de polygones accolés les uns aux autres. C'est sur ces polygones que l'on plaque ensuite une surface dotée d'un ensemble de particularités comme la brillance, la réflexivité, la couleur. On peut aussi doter cette surface d'une texture, pour obtenir une image qui représente au mieux la surface réelle.
   Afin d'illustrer ces notions de base de la 3D, nous allons prendre l'exemple d'un cube de bois. La modélisation du cube se fait par la jonction de ses huit sommets. Le modèle en fil de fer représente les arêtes du cube ainsi que la jonction des cotés des faces opposées. La structure ainsi obtenue a divisé le cube en un ensemble de triangles, que l'on appelle facettes. Il reste maintenant à plaquer une image de bois sur chaque facette constituant le cube. L'objet virtuel ainsi obtenu est vide.

[Carre 1]  [Carre 2]  Carre 3]

Image d'un cube sous sa forme de points, en maillage de type fil de fer. et recouvert d'une texture de type bois.


    Une fois que les éléments qui composent l'univers sont créés, il faut les placer dans l'espace. L'espace étant à trois dimensions, il y a trois axes de rotations possibles pour positionner l'objet.
   Enfin, un composant important de l'image de synthèse en trois dimensions est la lumière. C'est un élément qui complexifie énormément le calcul des images puisqu'il faut prendre en compte la puissance et la direction de l'éclairage, les effets de réflexion et d'émission de la lumière sur l'univers virtuel, ainsi que les effets d'ombre. C'est à ce niveau qu'il faut faire un compromis entre le réalisme de l'image et la rapidité de calcul, et donc de visualisation de l'image.

[Carre 4]

Image texturée avec calcul de lumière et d'ombre.



VRML 1.0

    L'élaboration du langage VRML avait pour premier objectif la rédaction d'une première version des spécifications du langage, désignées par le sigle VRML 1.0. Il y a eu trois versions de ces spécifications : le premier brouillon, sorti le 2 Novembre 1994, a été présenté à la seconde conférence internationale du World Wide Web par Tony Parisi ; le second est sortie le 8 Mai 1995 ; la troisième et dernière version date du 26 Mai 1995. Ce langage a été conçu pour être indépendant de la plate-forme sur laquelle il tourne. Il fallait aussi qu'il soit extensible pour le perfectionner et qu'il puisse être véhiculé sur une faible bande passante afin de fonctionner sur les réseaux.
   Un des principaux avantages de ce langage réside dans son mode de description de l'univers. Cette description des éléments de l'univers se fait au moyen de noeuds. Une page VRML, identifiée par l'extension ".wrl", est composée de noeuds qui sont structurés de manière hiérarchique pour reconstituer la scène graphique. Cette structure hiérarchique permet à des objets d'hériter de fonctions d'autres noeuds.
Un noeud a plusieurs fonctions :
   Ce concept de base est la structure même du langage. Maintenant il faut définir les noeuds, afin de savoir ce que l'on a le droit de faire. Les spécifications de VRML 1.0 prévoient donc la définition des objets graphiques comme le cône, le cube, le cylindre, la sphère, ainsi que les points isolés et les lignes courbes ou droites. Mais il y a aussi tous les noeuds définissant la position, l'échelle, la rotation, la translation, les textures, sans oublier le texte et le style, la lumière, les ancres51 World Wide Web ...
   Avec VRML 1.0 il est donc possible de décrire des objets ou des mondes entièrement en trois dimensions52 . Mais l'objectif étant de définir un langage de modélisation de la réalité virtuelle, il faut passer à la seconde étape et ajouter des fonctionnalités pour l'implémentation de l'interactivité.


VRML 2.0

    La version 2.0 de VRML a nécessité l'élaboration de 3 brouillons officiels, le premier datant du 18 Avril 1996, le second du 30 Mai et le troisième du 15 Juillet. La version officielle finale est sortie le 4 Août 1996, ce qui montre bien la motivation des initiateurs de ces spécifications, compte-tenu de la complexité des éléments ajoutés par rapport à VRML 1.0.
    La grande avancée que représente cette nouvelle version est d'inclure l'interactivité avec l'univers virtuel ainsi que l'animation d'éléments de cet univers. On s'approche ainsi de plus en plus de la réalité virtuelle. De plus VRML 2.0 est réellement multimédia et hypermédia, puisque l'on peut avec cette seconde version du langage lier des documents son et vidéo. Le second objectif de la nouvelle version est de préparer l'implémentation des versions futures tout en sauvegardant la simplicité et la rapidité de mise en oeuvre pour les développeurs de browsers aussi bien que pour les créateurs d'univers ou les utilisateurs finaux.
Voici un aperçu des noeuds supplémentaires significatifs :
    Toujours en prévision de l'évolution du langage, la version 2.0 est déjà compatible avec l'emploi de l'adressage par "Uniform Resource Name", "URN" 53 qui permettra de renforcer la compatibilité de ce langage avec des univers imprimés sur CD-Rom.
    Ce langage est donc aujourd'hui très performant, puisqu'il se rapproche étroitement des fonctionnalités que l'on peut trouver dans les logiciels de réalité virtuelle. La transparence, l'effet de brouillard, la gestion de collision, la délimitation de l'univers, le son, la vidéo, et la programmation des fonctionnalités de l'univers sont autant de points qui permettent d'augmenter le réalisme, du point de vue de l'utilisateur.


Les améliorations techniques pour le futur

   Tout d'abord les spécifications subiront une relecture qui permettra de clarifier les explications, afin d'enregistrer VRML 2.0 comme une norme ISO. Puis l'objectif suivant sera d'aboutir à une version 2.1 des spécifications avec trois axes majeurs : dans un premier temps, le travail consistera à consolider les spécifications en ajoutant ou en supprimant l'implémentation de noeuds en fonction de l'expérience des uns et des autres. Le second point d'ajustement des spécifications concernera l'intégration la plus adéquate des "Application Programmer Interfaces", (API). Enfin, le troisième point d'amélioration concerne la compatibilité avec la norme d'adressage URN, afin de développer l'utilisation "off-line"54 de ce langage.
    L'évolution de ce langage est progressive. Le principal objectif de la version suivante, 3.0, prévue d'ailleurs dès le début de cette aventure, est de développer un langage qui accepte le fonctionnement multi-utilisateurs en permettant la représentation graphique de chacun d'eux. La représentation graphique d'un utilisateur est un avatar 55 , ou, comme l'appel Philippe Quéau dans son livre "Le virtuel, vertus et vertiges" , un "démon". Ici, "démon" est utilisé au sens platonicien du terme, qui renvoie à la notion d'être intermédiaire entre Dieu et les hommes et capable de vie autonome, et non au sens classique d'être maléfique ou démoniaque.
   Il existe déjà des logiciels offrant de telles possibilités 56 ; certains sont d'ailleurs compatibles VRML pour la création des univers ou des avatars, mais la partie spécifique au fonctionnement multi-utilisateurs est en général un développement propriétaire. On peut donc se faire une idée des avantages que présenterait l'existence d'un standard dans ce domaine quand on sait que les logiciels actuels de "MUD"57 , comme on les appelle, ne sont pas multi-plates-formes. On peut même imaginer le jour où ces avatars pourront être animés et réagir en correspondance avec les réactions des utilisateurs qu'ils représentent ; et ceci à partir de n'importe quel interpréteur VRML 3.0.


    VRML est en bonne voie pour devenir le standard de la navigation en trois dimensions sur Internet. Mais le chemin aura été tourmenté, puisque de nombreuses sociétés ont tenté de s'approprier ce langage libre de droit. Nous allons maintenant expliquer le fonctionnement de la communauté VRML, et son "combat" contre les puissances informatiques qui tentent de la déposséder du fruit de son travail.



[Sommaire]

"www-vrml" Une communauté virtuelle créatrice du cyber-espace
Mémoire de DESS MEI - Benoît SUZANNE ©1996