TUTORIELS 
Introduction au VRML
Découvrir les bases du langage de modélisation 3D pour le Web. Une autre façon de rendre ses pages dynamiques, en incluant la réalité virtuelle.  (26 avril 2001)
 

Le VRML est un acronyme pour "Virtual Reality Modeling Language" (langage de modélisation de réalité virtuelle), un standard international pour la création de contenu multimédia en trois dimensions sur le web. A l'origine création de Silicon Graphics, le VRML revêt deux formes: dans sa version 1.0, il permet de décrire des environnements 3D (on parle aussi de "mondes") statiques, au degré d'interactivité limité; dans sa version 2.0 (ou VRML97 dans la version standardisée), des possibilités d'interaction, d'animation, de scripting sont permises. Nous nous focaliserons ici sur la version 1.0.

Les bases
Un document VRML nécessite un "visionneur" approprié sous forme de plug-in. Le navigateur devra donc être configuré pour que le "visionneur" soit lancé lorsque un document VRML lui est transmis. Il existe de nombreux "visionneurs" tels que Cosmo Player de SGI, ou celui d'Intervista.
Le VRML (1.0) est un langage mathématique dont la description repose sur un espace Euclidien à trois dimensions, dont la description est effectuée en coordonnées cartésiennes (dont les axes sont orientés de manière usuelle). Il est possible d'y créer des objets courants comme des cubes, des sphères ou des cônes, par exemple en utilisant le code suivant:

#VRML V1.0 ascii

Transform { translation 2 0 0 }
Material { diffuseColor 1 0 0 }
Cube { depth 2 height 2 width 2 }

Transform { translation -2.5 0 0 }
Material { diffuseColor 0 1 0 }
Sphere { radius 1 }

Transform { translation -2.5 0 0 }
Material { diffuseColor 0 0 1 }
Cylinder{ height 2 radius 1 }

Transform { translation -2.5 0 0 }
Material { diffuseColor 1 0 1 }
Cone { bottomRadius 1 height 2 }

Chaque objet est caractérisé par sa position (translation par rapport à l'objet précédent); son "matériau" et en particulier sa couleur; son type (paramétré par sa taille), comme l'illustrent les exemples du programme ci-dessus.
Un tel programme, stocké sous forme de fichier .wrl, est visible depuis le navigateur web après téléchargement du "visionneur" (plug-in) approprié.

Aller plus loin
Il est possible de jouer plus précisément sur la texture de l'objet 3D. Ainsi l'exemple suivant:

#VRML V1.0 ascii
Separator {
Material {
diffuseColor 1 1 0
specularColor 1 1 1
shininess 0.08
}
Sphere { radius 3 }
}

crée une sphère dont la couleur (diffuseColor) est un mélange de rouge et vert, qui réfléchit la lumière de telle manière que celle-ci apparaisse blanche (specularColor), avec un facteur de brillance (shininess) faible (plus celui-ci est faible, moins la réflexion de la lumière est concentrée, c'est-à-dire plus l'objet réfléchit uniformément la lumière). Toutes les valeurs de ces différents paramètres sont comprises entre 0 et 1.
L'utilisation du "noeud" Separator permet d'appliquer la texture définit dans Material à tous les objets qui figurent dans le noeud (il n'y en a qu'un seul ici, mais on pourrait très bien en placer plusieurs).

Pour aller plus loin avec le VRML, le site The Web 3D Repository (http://www.web3d.org/vrml/vrml.htm) est la source la plus complète.

 
[ Jérôme MorlonJDNet
 
Accueil | Haut de page