Résumé
Virtual Reality Modeling Language est un format textuel d’échange de scènes 3D permettant de décrire du contenu 3D structuré, et non un simple conteneur de maillage. Pour la plupart des lecteurs, la référence pratique est VRML97, officiellement normalisé sous la référence ISO/IEC 14772-1:1997 et publié le 15 décembre 1997. [1] [7]
Son périmètre est plus large que le simple stockage de modèles bruts. La spécification VRML97 décrit un format intégrant graphiques 3D et multimédia, conçu pour les environnements distribués tels que le World Wide Web. C’est pourquoi un fichier VRML peut inclure une hiérarchie, une apparence, des points de vue, des hyperliens et des comportements en plus de la géométrie. [3] [4]
Qu’est-ce que Virtual Reality Modeling Language ?
Virtual Reality Modeling Language est un format textuel de description et d’échange de scènes pour les graphiques 3D et le multimédia. En pratique, « VRML » désigne généralement VRML97, la version normalisée sous la référence ISO/IEC 14772-1:1997, Édition 1, publiée le 15 décembre 1997. [1] [3]
Ce qui distingue VRML est qu’il décrit davantage que la seule forme. Un monde VRML peut encoder la géométrie, l’apparence, la hiérarchie, les points de vue, les hyperliens et les comportements dans une scène structurée unique ; il est donc plus juste de considérer VRML comme un langage de description de scènes que comme un format de fichier limité aux formes. [7] [3] [4]
Qu’est-ce qu’un fichier VRML (.wrl) ?
Un fichier VRML est généralement un fichier .wrl contenant une scène VRML97 en texte brut. En pratique, lorsqu’une personne vous envoie un .wrl, elle vous transmet généralement une description de scène 3D pouvant inclure de la géométrie, des matériaux, des textures, des points de vue et parfois des éléments interactifs. [8] [9]
Vous pouvez également rencontrer des variantes compressées telles que .wrl.gz et .wrz. Le type de média enregistré actuel est model/vrml, tandis que des documents et logiciels plus anciens peuvent encore utiliser la forme historique x-world/x-vrml. [8] [9]
Comment identifier un fichier VRML
- Extension
.wrl: l’extension de nom de fichier standard des fichiers VRML. [8] - En-tête
#VRML V2.0 utf8: la signature habituelle en texte clair située au début d’un fichier VRML97. [8] - Type de média
model/vrmlavec une mention historique :model/vrmlest le type actuellement enregistré, tandis quex-world/x-vrmlest une terminologie plus ancienne assurant la rétrocompatibilité. [8] [9]
VRML 1.0, VRML 2.0 et VRML97
La dénomination des versions est plus simple qu’elle n’en a l’air. VRML 1.0 correspond à la génération antérieure, tandis que la génération interactive à laquelle la plupart des lecteurs font aujourd’hui référence est VRML 2.0, ensuite normalisée sous le nom de VRML97. VRML97 est ISO/IEC 14772-1:1997, publié le 15 décembre 1997, et la norme a ensuite reçu l’Amendement 1:2003, intitulé Interopérabilité améliorée. [1] [2] [8]
Étapes clés de l’évolution de VRML
- VRML 1.0 : les archives renvoient à la spécification du 26-MAY-95 et à l’en-tête
#VRML V1.0 ascii. [6] - VRML 1.0 vs. 2.0 : les mondes VRML 1.0 sont statiques, tandis que les mondes VRML 2.0 peuvent se déplacer et interagir. [7]
- VRML97 : la forme normalisée de la génération interactive, publiée en 1997. [1]
- Amendement 1:2003 : un amendement officiel traitait de l’amélioration de l’interopérabilité. [2]
Dans la plupart des cas pratiques, considérer « VRML 2.0 » et « VRML97 » comme désignant la même version est l’approche la moins déroutante. C’est la version à laquelle font référence la plupart des fichiers .wrl lorsqu’ils sont évoqués aujourd’hui. [7] [8]
X3D est la famille de normes qui lui succède. Web3D décrit X3D comme un sur-ensemble direct de VRML, et ses listes actuelles de normes comprennent ISO/IEC 19775-1:2023 pour X3D Architecture et ISO/IEC 19776-2:2015 pour X3D Encoding: Classic VRML. [10] [11]

Fonctionnement de VRML comme format de graphe de scène
VRML est un langage textuel de description de scènes construit autour d’un graphe de scène, et non d’un unique maillage indifférencié. Un fichier VRML décrit un monde sous forme de nœuds dotés de champs, organisés selon une hiérarchie pouvant réunir structure, transformations, réutilisation et comportement. [4]
Au niveau de l’objet, un nœud Shape relie une forme visible à une apparence visible. La spécification indique qu’un Shape associe la géométrie à l’apparence et contient exactement un nœud de géométrie. Cette géométrie peut être Box, Cone, Cylinder, ElevationGrid, Extrusion, IndexedFaceSet, IndexedLineSet, PointSet, Sphere ou Text. Côté apparence, un nœud Appearance peut spécifier Material, ImageTexture, PixelTexture, MovieTexture et TextureTransform. Plusieurs nœuds de géométrie utilisent aussi des nœuds de propriétés séparés tels que Coordinate, Color, Normal et TextureCoordinate ; la spécification précise explicitement qu’ils sont séparés afin de permettre l’instanciation et le partage entre différents nœuds de géométrie. [4]
Une courte carte terminologique est utile :
- graphe de scène : l’organisation hiérarchique d’un monde en nœuds connectés. [4]
- nœud : un élément de scène typé tel que
Shape,AppearanceouBox. [4] - champ : un emplacement nommé qui stocke des valeurs ou des références dans un nœud. [4]
- monde : la scène 3D complète décrite. [7]
- ROUTE : la construction servant à établir des chemins d’événements entre les nœuds. [4]
Ce dernier terme est ce qui fait dépasser à VRML le cadre de la géométrie statique. La spécification définit ROUTE comme le mécanisme des chemins d’événements, et son modèle d’exécution décrit des cascades d’événements commençant lorsqu’un capteur ou un Script génère un événement initial. Autrement dit, un fichier VRML peut décrire non seulement les objets d’une scène, mais aussi la manière dont des parties de cette scène réagissent au fil du temps. [4]
Ce qu’un fichier VRML peut stocker
Un fichier VRML peut stocker plusieurs types d’informations 3D. Il peut contenir des données de forme visible, des données d’apparence, l’organisation de la scène, des points de vue, des ressources liées et des comportements interactifs. C’est pourquoi « format d’échange de scènes 3D » est généralement une désignation plus précise que « fichier de maillage ». [3] [4]
Pour le contenu visible du modèle, VRML peut stocker la géométrie ainsi que plusieurs couches d’apparence. Appearance prend en charge Material, ImageTexture, PixelTexture, MovieTexture et TextureTransform, tandis que des nœuds de propriétés partagés tels que Coordinate, Color, Normal et TextureCoordinate peuvent être réutilisés entre les géométries. Les données de couleur directe se distinguent également des flux de travail à base d’images de texture : dans IndexedFaceSet, la couleur s’applique par face lorsque colorPerVertex est FALSE, et par sommet lorsqu’il est TRUE. L’aide actuelle d’exportation VRML de SketchUp reflète cette même distinction en termes pratiques, en indiquant que si Output Texture Maps est désactivé, seules les couleurs sont exportées. [4] [5] [14]
VRML peut également stocker des éléments de scène et de comportement au-delà des surfaces. La spécification comprend les points de vue, les hyperliens vers d’autres fichiers, les changements basés sur le temps, les capteurs, les scripts et les chemins d’événements basés sur ROUTE. Dans certains flux de travail d’impression actuels, toutefois, la gestion des couleurs peut encore dépendre de fichiers image associés au fichier .wrl. [3] [4] [15]
| Capacité | Prise en charge VRML | Pourquoi c’est important | Limite |
|---|---|---|---|
| Géométrie | Peut stocker des nœuds de géométrie et des nœuds de propriétés partagés tels que Coordinate. [4] |
Préserve la forme de l’objet. | La géométrie n’est qu’une partie de la scène. |
| Matériaux | Peut stocker Material via Appearance. [4] |
Préserve l’apparence de surface pour l’éclairage. | Les importateurs peuvent le remapper ou le simplifier. |
| Textures | Peut stocker ImageTexture, PixelTexture, MovieTexture et TextureTransform. [4] |
Préserve les détails de surface basés sur une image. | Certains flux de travail dépendent aussi de ressources image externes. [15] |
| Couleur | Peut stocker des données de couleur directe, y compris une couleur par face ou par sommet dans IndexedFaceSet. [5] |
Utile pour les modèles 3D en couleur sans dépendre uniquement d’images de texture. | Les réglages d’exportation peuvent réduire la sortie texturée aux seules couleurs. [14] |
| Points de vue/caméras | Peut stocker des nœuds Viewpoint, et certains exportateurs mappent des vues de caméra vers une sortie VRML. [4] [14] |
Préserve les vues prévues d’une scène. | Tous les outils ne traitent pas les points de vue comme des données de premier plan. |
| Hyperliens/médias | Peut stocker des liens vers d’autres fichiers et ressources associées. [3] [4] | Prend en charge un comportement de scène plus riche que la seule géométrie statique. | Souvent ignorés dans des flux d’importation limités. |
| Animation | Peut stocker des changements basés sur le temps et des mises à jour déclenchées par événements. [4] | Prend en charge le mouvement et le changement d’état. | Les flux d’échange statiques peuvent les supprimer. |
| Capteurs/scripts | Peut stocker le comportement des capteurs et des scripts. [4] | Permet l’interaction et la logique. | La prise en charge dépend fortement du flux de travail. |
| Routage d’événements | Peut stocker des chemins et cascades d’événements basés sur ROUTE. [4] |
Relie les parties interactives de la scène. | Un comportement stocké ne garantit pas la préservation du comportement à l’exécution. |
VRML peut donc transporter un vaste ensemble d’informations de scène, mais leur préservation en aval est sélective. Un .wrl peut contenir géométrie, couleurs, textures, points de vue et comportement, tandis qu’un outil ultérieur peut n’en conserver qu’une partie. [4] [14] [15]

Où VRML apparaît encore dans des flux de travail identifiés
VRML apparaît encore dans quelques catégories concrètes de flux de travail plutôt que comme choix général par défaut. Dans les exemples actuels étayés par des sources, ces catégories sont l’export EDA, l’export SketchUp Pro, la préparation pour l’impression couleur, et les contextes d’archivage ou de préservation. Aucun chiffre fiable n’a été trouvé quant à l’ampleur de son usage actuel global. [8] [12] [14] [15] [16]
Cas courants où vous pouvez encore rencontrer un fichier VRML
- KiCad et export EDA : le manuel PCB Editor de KiCad indique que son exportateur VRML crée un fichier
.wrlreprésentant un modèle 3D contenant le PCB et tous les fichiers VRML spécifiés dans les empreintes. Le même manuel précise que ces modèles VRML conviennent aux cas où l’apparence visuelle est importante et où la précision dimensionnelle n’est pas critique. L’interface CLI de KiCad comprend égalementpcb export vrml, avec.wrlcomme extension de sortie par défaut. [12] [13] - Export SketchUp Pro : SketchUp Pro peut exporter des fichiers
.wrl, et sa page d’aide actuelle répertorie les vues de caméra, les arêtes, les faces, les groupes, les lumières, les matériaux et textures, ainsi que la transparence parmi les fonctions prises en charge à l’exportation. Son réglageOutput Texture Mapsdétermine également si les textures sont écrites ou si l’exportation revient à des couleurs seules. [14] - Flux d’impression Stratasys et GrabCAD : la documentation Stratasys indique que de nombreux flux VRML générés par CAO créent un
.wrlcontenant la géométrie, y compris la texture, ainsi qu’un fichier image distinct contenant les informations de couleur. GrabCAD Print répertorie VRML/WRL/V2.0, aussi connu sous le nom de 97, avec prise en charge de la couleur et des textures. [15] [16] - Contextes d’archivage et de préservation : la Bibliothèque du Congrès indique que VRML a été remplacé par X3D basé sur XML et note qu’elle détenait un petit nombre de fichiers VRML dans ses collections en mai 2024. [8]
Il s’agit de flux de travail réels et identifiés, mais leur importance ne doit pas être exagérée. Ils montrent que VRML subsiste dans des chaînes d’outils spécifiques, non qu’il reste un choix dominant dans l’écosystème 3D au sens large. [8] [12] [16]
Performances et fidélité en pratique
En pratique, la fidélité dépend moins de ce que VRML peut exprimer que de ce qu’un exportateur, un importateur ou un flux de travail en aval donné choisit de préserver. Un .wrl peut contenir géométrie, apparence, points de vue et comportement, mais le résultat livré dépend toujours du flux de travail. KiCad en est un exemple utile : son propre manuel présente la sortie VRML comme adaptée lorsque l’apparence visuelle est importante et que la précision dimensionnelle n’est pas critique. [12]
La fidélité de l’apparence est particulièrement sensible aux réglages et aux ressources associées. SketchUp peut exporter des cartes de texture ou uniquement des couleurs selon l’option Output Texture Maps. Les recommandations Stratasys J5 indiquent que de nombreux flux d’impression VRML utilisent également un fichier image distinct pour les informations de couleur, et GrabCAD Print précise que les formats d’image de texture pris en charge pour les flux VRML sont GIF, PNG, BMP et JPEG. La prise en charge de la couleur et des textures ne signifie donc pas que chaque outil en aval préservera ces résultats de manière identique. [14] [15] [16]
VRML face à OBJ, STL, X3D et glTF
Les axes de comparaison utiles sont le style d’encodage, la hiérarchie de scène, l’apparence/la couleur, le comportement/l’interactivité, les dépendances externes et l’adéquation à l’écosystème. Ces formats répondent à des besoins d’échange différents. [10] [19] [20] [21]
| Format | Atouts natifs | Principales limites | Usage le plus adapté |
|---|---|---|---|
| VRML | Échange de scènes 3D textuel avec hiérarchie, apparence, points de vue et mécanismes comportementaux. [3] [4] | Prise en charge dépendante du flux de travail ; de nombreux outils ne préservent qu’une partie du modèle. [14] [16] | Échange de scènes historique ou spécifique à un flux de travail, lorsque la géométrie et l’apparence importent. |
| OBJ | Échange textuel centré sur la géométrie pouvant utiliser des fichiers MTL associés pour les couleurs et textures. [19] | Ne définit pas une scène complète avec positions d’éclairage, positions de vue prédéfinies ou animation. [19] | Échange étendu de géométrie avec fichiers auxiliaires de matériaux facultatifs. |
| STL | Description simple de surface sous forme de maillage triangulaire ou de facettes triangulaires. [20] | Sémantique très limitée au-delà de la forme ; aucune prise en charge standard des couleurs ou des textures. [20] | Fabrication élémentaire et transfert de formes seules. |
| X3D | Famille successeur et sur-ensemble direct de VRML, avec les encodages XML .x3d, Classic VRML .x3dv, VRML97 .wrl et JSON. [10] |
Le statut de successeur ne garantit pas un comportement identique des outils dans tous les encodages. [10] [11] | Prolongement fondé sur des normes de la description de scènes de style VRML. |
| glTF | Format moderne de ressources pour la hiérarchie de nœuds, les matériaux, les caméras, les maillages et les animations. [21] | Conçu comme format de ressources d’exécution, non comme format de création ou de diffusion en continu. [21] | Livraison de ressources 3D dans les moteurs et visionneuses actuels. |
Le schéma est simple. STL est le plus limité : il décrit la géométrie de surface. OBJ l’étend aux matériaux et aux textures, mais demeure centré sur la géométrie plutôt que sur la scène. VRML va plus loin en traitant le fichier comme une description de monde dotée d’une structure et d’un comportement. X3D prolonge cette lignée normalisée, tandis que glTF occupe un rôle différent de format moderne de ressources orienté exécution. [10] [11] [19] [20] [21]

Limites et pièges de compatibilité
Le plus grand piège consiste à supposer qu’un chemin d’importation ou d’exportation .wrl implique une prise en charge complète de VRML97. Ce n’est pas le cas. VRML97 reste officiellement normalisé, et model/vrml demeure le type de média enregistré, mais le statut de norme officielle n’équivaut pas à une large fidélité comportementale dans les logiciels actuels. Le contraste entre la spécification VRML97 complète et la documentation actuelle des flux de travail est le point essentiel ici : la documentation récente des outils se concentre généralement sur des tâches plus restreintes telles que l’exportation, la géométrie, l’apparence, les vues de caméra ou la préparation à l’impression. [1] [9] [12] [14] [16]
Les textures créent un deuxième piège : le fichier .wrl peut ne pas constituer l’intégralité de la ressource. SketchUp peut omettre les cartes de texture selon les réglages d’exportation, et Stratasys documente des flux de travail dans lesquels un fichier image séparé contient les informations de couleur. Même lorsque GrabCAD Print prend en charge la couleur et les textures VRML, cette prise en charge s’applique dans un flux d’impression spécifique et ne prouve pas une préservation universelle du comportement de scène. [14] [15] [16]
X3D comme solution de succession
X3D est important parce qu’il assure une continuité normalisée avec VRML plutôt qu’une rupture nette. Web3D décrit X3D comme un sur-ensemble direct de VRML avec quatre encodages : XML .x3d, Classic VRML .x3dv, VRML97 .wrl et JSON. Les listes actuelles de normes Web3D comprennent ISO/IEC 19775-1:2023 pour X3D Architecture et ISO/IEC 19776-2:2015 pour l’encodage Classic VRML. [10] [11]
Cela importe si vous rencontrez aujourd’hui un fichier .wrl. Le format appartient à une lignée normalisée maintenue, même si la prise en charge des logiciels actuels est sélective. La Bibliothèque du Congrès décrit VRML comme remplacé par X3D basé sur XML, ce qui constitue le cadrage le plus pratique : ils ne sont pas identiques, ni interchangeables dans chaque outil, mais sont clairement liés. [8] [10] [11]
Virtual Reality Modeling Language est-il encore pertinent ?
Virtual Reality Modeling Language reste pertinent, mais de façon plus restreinte et spécifique aux flux de travail. Il demeure historiquement important, plus riche que les formats limités aux maillages, et apparaît encore dans des chaînes identifiées comme l’export KiCad, l’export SketchUp Pro, les flux d’impression couleur Stratasys ou GrabCAD et les fonds d’archives. X3D est la famille de normes qui lui succède, toujours maintenue, et son sur-ensemble direct, non une piste distincte sans lien. [8] [10] [11] [12] [14] [16]
La conclusion pratique est simple : VRML n’est pas le choix par défaut pour la livraison moderne en temps réel ou sur le web, mais un fichier .wrl reste pertinent lorsqu’une chaîne d’outils spécifique l’attend. Si vous en rencontrez un aujourd’hui, considérez-le comme un artefact de scène ou d’échange spécifique à un flux de travail, et vérifiez quelles données de géométrie, d’apparence, de texture, de point de vue ou de comportement votre logiciel cible préserve réellement. [12] [14] [16]
FAQ
Voici des réponses courtes aux questions que les lecteurs posent généralement après avoir rencontré un fichier .wrl.
Qu’est-ce que Virtual Reality Modeling Language ?
Virtual Reality Modeling Language, généralement abrégé en VRML, est un langage textuel de description de scènes pour les mondes 3D. Il décrit la géométrie et le comportement, et non seulement les données de maillage ; c’est pourquoi il est préférable de le comprendre comme un format d’échange de scènes plutôt que comme un simple conteneur de formes. [7] [3]
Qu’est-ce qu’un fichier VRML (.wrl) ?
Un fichier VRML est généralement un fichier .wrl contenant une scène VRML97 en texte brut. Les fichiers VRML97 en texte clair commencent habituellement par #VRML V2.0 utf8, et le type de média enregistré est model/vrml, bien que des contenus plus anciens puissent encore utiliser x-world/x-vrml. [8] [9]
VRML est-il un format de fichier de modèle 3D ou un format d’échange de scènes 3D ?
Il est les deux, mais « format d’échange de scènes 3D » est généralement plus précis. VRML peut stocker la géométrie d’un modèle, mais il prend aussi en charge la hiérarchie, l’apparence, les points de vue, les liens et le comportement, ce qui le place au-delà d’un format d’échange limité à la géométrie. [3] [4] [7]
VRML peut-il stocker des modèles 3D en couleur ?
Oui. VRML peut stocker des données de couleur directe, des matériaux et des références de texture. Dans IndexedFaceSet, la couleur peut s’appliquer par face lorsque colorPerVertex est FALSE, et par sommet lorsqu’il est TRUE ; un .wrl peut donc préserver davantage d’informations visuelles qu’un format de maillage limité aux formes. [4] [5]
VRML est-il obsolète ?
Pas complètement, mais ce n’est plus le choix par défaut pour la plupart des nouveaux flux de travail. Le format a été remplacé par X3D, mais il apparaît encore dans des contextes identifiés d’exportation, d’impression et de préservation ; « remplacé mais toujours pertinent pour certains flux de travail » le décrit donc mieux que simplement « obsolète ». [8] [10] [16]
Niveau expert : quelle est la différence entre VRML 1.0, VRML 2.0/VRML97 et X3D ?
VRML 1.0 est la génération antérieure, relativement statique. VRML 2.0 a ajouté le mouvement et l’interaction, et VRML97 est la forme normalisée de cette seconde génération. X3D est le sur-ensemble direct ultérieur et la continuité normalisée, non une famille de formats distincte sans lien. [6] [7] [10] [11]
Niveau expert : pourquoi l’ouverture d’un .wrl dans un logiciel moderne ne garantit-elle pas que le comportement de ROUTE, Script, des capteurs ou des points de vue restera inchangé ?
Parce que la prise en charge est généralement spécifique au flux de travail, et non complète par défaut selon la spécification. La spécification VRML97 définit le routage d’événements, les scripts, les capteurs et les points de vue, mais de nombreux outils actuels documentent des objectifs plus étroits, tels que la géométrie, les matériaux, les vues de caméra ou les flux de couleur orientés impression. Un chemin .wrl ne prouve donc pas une fidélité comportementale complète. [4] [12] [14] [16]
Sources
- ISO/IEC 14772-1:1997
- ISO/IEC 14772-1:1997/Amd 1:2003
- Portée de Web3D VRML97
- Concepts Web3D VRML97
- Référence des nœuds Web3D VRML97
- Page de provenance archivistique Web3D VRML 1.0
- FAQ comp.lang.vrml archivée par Web3D
- Page de la famille VRML de la Bibliothèque du Congrès
- Registre des types de média IANA
- Web3D : Qu’est-ce que X3D ?
- Normes recommandées Web3D
- Manuel KiCad PCB Editor 9.0
- Documentation CLI KiCad 9.0
- Aide SketchUp : exportation de fichiers VRML
- Guide Stratasys J5 : fichiers VRML
- Stratasys GrabCAD Print : formats de fichier pris en charge
- Manuel Blender 4.1 : Web3D X3D/VRML2
- Index d’importation-exportation Blender latest
- Page OBJ de la Bibliothèque du Congrès
- Page STL de la Bibliothèque du Congrès
- Spécification Khronos glTF 2.0
