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