Résumé
Le format de fichier X3D est une architecture de scène et un modèle d’exécution normalisés par l’ISO pour la 3D interactive, et non un simple fichier modèle XML. [1] [2] [8] La référence architecturale actuelle est ISO/IEC 19775-1:2023, Édition 4, tandis que .x3d désigne spécifiquement l’encodage XML de X3D, plutôt que la norme entière. [1] [8]
En pratique, les scènes X3D peuvent être stockées sous .x3d, .x3dv ou .x3db, selon l’encodage du même graphe de scène. [8] [9] [10] X3D se comprend mieux comme une famille de normes coordonnées comprenant des profils, composants, comportements d’exécution et encodages multiples, et non comme un unique conteneur de maillage. [1] [2] [25] C’est pourquoi comparer X3D à glTF est utile : les deux se recoupent dans les flux de travail de 3D web, mais définissent des périmètres différents et ne sont pas interchangeables dans chaque pipeline. [2] [3] [24]
Contexte historique : de VRML97 à l’architecture X3D4
X3D est issu de la lignée des normes de 3D web VRML. VRML97 a été publié sous la référence ISO/IEC 14772-1:1997 en décembre 1997, et le groupe de travail X3D a été créé en 1999 afin de corriger les limites de VRML97 tout en étendant son approche basée sur les scènes. [11] [13] X3D s’est ensuite développé en une suite de normes plus étendue, dont l’architecture est spécifiée séparément de ses encodages. Les parties d’encodage XML, Classic VRML et binaire compressé ont toutes été publiées en tant que normes ISO en 2015. [5] [6] [7] La référence architecturale actuelle a été publiée en décembre 2023 sous la référence ISO/IEC 19775-1:2023, Édition 4. [1] La syntaxe Classic VRML fait toujours partie de la famille X3D, mais les anciens fichiers .wrl au format VRML97 restent un format plus ancien distinct. [9] [11]
- 1997-12 — VRML97 publié sous la référence ISO/IEC 14772-1:1997. [11]
- 1999 — Création du groupe de travail X3D. [13]
- 2015 — Publication d’ISO/IEC 19776-1/2/3 pour les encodages XML, Classic VRML et binaire compressé. [5] [6] [7]
- 2023-12 — Publication d’ISO/IEC 19775-1:2023 comme référence architecturale X3D actuelle. [1]
Principes techniques : graphe de scène, nœuds, ROUTEs, profils et composants
À la base, X3D est un format de graphe de scène plutôt qu’une description plate de modèle. L’architecture définit un graphe de scène X3D comme un graphe orienté acyclique. [3] Un nœud est un bloc constitutif de ce graphe, et chaque nœud expose des valeurs par ses définitions de champs. [3] X3D se rapproche ainsi davantage d’une description de scène structurée que d’un simple conteneur de géométrie : outre des formes, une scène X3D peut également stocker des caméras, lumières, métadonnées, interactions, hyperliens, comportements temporels et relations entre éléments. [2] [3]
Un fichier X3D contient zéro ou plusieurs nœuds racines dans l’architecture abstraite. [3] La norme définit également des conventions spatiales communes, avec quelques nuances importantes : l’unité de base initiale de longueur pour les coordonnées monde est le mètre, cette valeur par défaut peut être modifiée avec des instructions UNIT, l’unité de base du temps est la seconde et ne peut pas être modifiée, et le système de coordonnées est cartésien, tridimensionnel et orienté à droite. [3] Ces règles améliorent l’interopérabilité, mais ne garantissent pas l’exactitude géométrique ou la précision métrologique dans un flux de travail. [3]
X3D est modularisé par des profils et composants, afin que les implémentations puissent cibler des sous-ensembles déclarés de l’architecture globale. [1] [25] Une ROUTE relie des événements entre champs, ce qui explique en partie pourquoi X3D est souvent décrit comme capable d’exécution plutôt que statique. [3] Dans la terminologie ISO, un navigateur ou visualiseur présente et exécute la scène, tandis qu’un chargeur peut importer le contenu sans appliquer son modèle complet d’exécution. [3] En pratique, cela signifie qu’un chargeur peut importer la géométrie, les matériaux et certaines transformations, mais ne pas reproduire les capteurs, scripts, temporisations ou autres logiques de scène. [3]
Encodages, extensions et types média web X3D
X3D possède trois encodages publiés par l’ISO : XML, Classic VRML et binaire compressé. [5] [6] [7] Il s’agit d’encodages différents de la même architecture X3D, et non de normes 3D séparées. [1] [25] gzip n’est pas un quatrième encodage ; c’est une couche de compression ou de transport appliquée sur un fichier encodé. [8] [9] [10] Les références d’encodage les plus récentes publiées par l’ISO citées ici sont ISO/IEC 19776-1:2015 pour XML, ISO/IEC 19776-2:2015 pour Classic VRML et ISO/IEC 19776-3:2015 pour le binaire compressé, toutes en Édition 3. [5] [6] [7] Aucune édition ISO ultérieure n’a été trouvée ici pour ces trois parties. [5] [6] [7]
Cette différence de versions est importante. L’architecture X3D4 est ISO/IEC 19775-1:2023, tandis que les parties d’encodage XML, Classic VRML et binaire compressé les plus récentes publiées par l’ISO que nous avons trouvées sont ISO/IEC 19776-1/2/3:2015 ; Web3D suit les mises à jour d’encodage 4.0 en tant que travaux à l’état de projet ou préliminaires plutôt que comme remplacements publiés par l’ISO. [1] [5] [6] [7] [12] Certains outils prennent également en charge X3D JSON, souvent associé à .x3dj, mais Web3D décrit ISO/IEC 19776-5 JSON comme un travail en cours ; il ne doit donc pas être présenté comme un équivalent publié par l’ISO des parties d’encodage de 2015. [12] [20] [26] La syntaxe X3D Classic ne doit pas non plus être confondue avec les anciens fichiers .wrl au format VRML97, qui appartiennent à la lignée VRML plus ancienne bien que les langages soient historiquement liés. [9] [11]
Extensions de fichier X3D et types MIME/média (pourquoi les deux existent)
Les extensions de fichier sont les noms que les utilisateurs voient sur le disque, tandis que les types MIME ou média comptent principalement lorsque le contenu est servi sur le web ou transmis par des systèmes dépendant des métadonnées HTTP. [16] [19] Pour X3D, cela signifie que l’ouverture locale dépend souvent de l’application et de l’extension, tandis que la diffusion web dépend fortement du type média envoyé par un serveur. [16] [17] [18] Une complication supplémentaire tient au fait que certaines anciennes pages de spécification Web3D 3.3 utilisent model/x3d+vrml et model/x3d+binary, tandis que l’IANA enregistre model/x3d-vrml et model/x3d+fastinfoset ; pour la diffusion web, les enregistrements IANA constituent la référence la plus sûre. [9] [10] [17] [18] [25]
| Encodage | Extensions | Type MIME/média | Utilisation typique |
|---|---|---|---|
| Encodage XML | .x3d, .x3dz, .x3d.gz. [8] |
model/x3d+xml. [16] |
Texte lisible ou modifiable ; archivage ; échange. [8] [25] |
| Encodage Classic VRML (X3D Classic) | .x3dv, .x3dvz, .x3dv.gz. [9] |
model/x3d-vrml dans l’IANA. [17] |
Syntaxe textuelle compacte à structure de type VRML. [9] |
| Binaire compressé / Fast Infoset | .x3db, .x3db.gz ; certains enregistrements et notes historiques mentionnent aussi .x3dbz. [10] [18] |
model/x3d+fastinfoset dans l’IANA. [18] |
Transport et stockage orientés binaire, avec des compromis liés à la compression. [10] [18] |
| VRML97 (référence historique) | .wrl, .wrz. [11] [20] |
model/vrml. [19] |
Contenu VRML historique, pas un encodage X3D. [11] [19] |

Comment ouvrir un fichier X3D
Pour ouvrir un fichier X3D dans un navigateur, utilisez un environnement d’exécution ou une bibliothèque JavaScript comme X_ITE ou X3DOM plutôt que de supposer que Chrome, Firefox ou Safari affichent nativement les fichiers .x3d. [20] [21]
Les options pratiques d’ouverture comprennent :
- Ouvrir la scène dans une page de navigateur qui utilise XITE, un navigateur X3D JavaScript/WebGL dont la page de référence a été mise à jour le 13 septembre 2026 et liste XITE v16.4.1. [20]
- Ouvrir la scène dans une page de navigateur qui utilise X3DOM, qui se décrit comme ne nécessitant aucun plugin et fonctionnant par l’inclusion d’un fichier JavaScript. [21]
- Utiliser un visualiseur ou moteur de bureau prenant en charge X3D, comme les outils Castle, mais considérer la prise en charge comme dépendante de l’implémentation. [22]
- Utiliser l’importation ou l’exportation Blender avec prudence ; le manuel Blender indique le chemin de menu X3D, mais des outils tiers signalent d’importantes lacunes fonctionnelles dans le pipeline X3D de Blender. [22] [27]
- Ne convertir que lorsque le format cible peut préserver les sémantiques nécessaires, telles que les interactions, ROUTEs, scripts ou métadonnées. [3] [24]
La prise en charge dépend des profils, composants et nœuds ; les résultats d’importation et de lecture varient donc selon l’implémentation. [3] Un outil de création de contenu de bureau peut préserver la géométrie et les matériaux tout en supprimant les capteurs, scripts, ROUTEs, métadonnées et autres comportements d’exécution. [3] [22]
| Tâche | Meilleure catégorie d’outil |
|---|---|
| Inspecter ou modifier du contenu textuel. | Éditeur de texte ou éditeur compatible XML pour .x3d, ou éditeur de texte pour .x3dv. [8] [9] |
| Valider ou vérifier la conformité du contenu. | Validateur ou vérificateur de conformité adapté à l’encodage et à l’ensemble des fonctionnalités. [3] |
| Effectuer un rendu interactif dans une page web. | Environnement d’exécution JavaScript tel que X_ITE ou X3DOM. [20] [21] |
| Visualiser dans un moteur ou outil de scène de bureau. | Visualiseur ou moteur compatible X3D tel que les outils Castle, avec les réserves propres à l’implémentation. [22] |
| Diffuser vers des moteurs web modernes. | Envisager la conversion vers glTF lorsque la diffusion d’actifs importe davantage que la préservation de la sémantique complète d’exécution X3D. [24] |

X3D ou glTF pour la 3D web
Pour la plupart des tâches de diffusion web, glTF est généralement le meilleur choix par défaut pour la diffusion compacte d’actifs d’exécution. [24] X3D convient mieux lorsque vous avez besoin d’un graphe de scène déclaratif fondé sur des normes, avec interactions, métadonnées, profils et routage d’événements. [1] [2] [3] Autrement dit, le choix entre les formats X3D et glTF relève moins d’un remplacement que du périmètre et de l’adéquation au flux de travail. [2] [24]
La différence essentielle concerne le périmètre. X3D définit un système logiciel pour les graphiques 3D et le multimédia compatibles réseau, avec une architecture incluant la structure de scène et la sémantique d’exécution. [1] [2] À l’inverse, Khronos spécifie glTF comme un format de diffusion d’actifs d’exécution indépendant des API, et explicitement comme un format d’actifs qui n’impose pas de comportement d’exécution. [23] [24] Cela signifie que glTF peut transporter des scènes, nœuds, matériaux, caméras et animations complets, mais qu’il ne normalise pas le même type de modèle de routage d’événements ni l’environnement comportemental intégré de X3D. [3] [24] Si votre contenu dépend de ROUTEs, capteurs, scripts, conventions de métadonnées de scène ou de l’architecture X3D plus large, la conversion vers glTF peut préserver la géométrie visible tout en perdant une partie du comportement créé. [3] [24]
| Critère | X3D | glTF | Conclusion pratique |
|---|---|---|---|
| Objectif principal | Architecture de scène déclarative avec comportement d’exécution. [1] [2] [3] | Format de diffusion d’actifs d’exécution indépendant des API. [24] | X3D fonctionne davantage comme un système de scène ; glTF davantage comme un paquet de diffusion. [2] [24] |
| Statut des normes | ISO/IEC 19775-1:2023 pour l’architecture. [1] | ISO/IEC 12113:2022 pour glTF 2.0. [23] | Les deux sont normalisés, mais normalisent des périmètres différents. [1] [23] |
| Comportement d’exécution et interactivité | Le routage d’événements et le comportement temporel font partie du modèle. [3] | Le comportement d’exécution n’est pas imposé par le format. [24] | Conservez X3D lorsque le comportement créé importe. [3] [24] |
| Pipeline web typique aujourd’hui | Environnement d’exécution de navigateur ou visualiseur compatible X3D, parfois avec conversion. [20] [21] | La diffusion directe d’actifs vers les moteurs et visualiseurs constitue le cœur de sa conception. [24] | glTF est généralement plus simple lorsque l’objectif est la publication efficace d’actifs. [24] |
| Meilleure adéquation | Interaction, sémantique de scène structurée, échange guidé par les normes ou lisibilité pour l’archivage. [1] [25] | Diffusion légère de modèles, matériaux et animations vers des pipelines modernes. [24] | Choisissez selon les sémantiques requises, pas selon la popularité du format. [3] [24] |

Performances, interopérabilité et compatibilité
La conformité indique si un fichier respecte la norme, mais ne définit pas directement les performances ou besoins en ressources. [4] Une scène X3D valide peut néanmoins être lente à charger, coûteuse à rendre ou difficile à déployer si elle utilise de grandes textures, une géométrie lourde, des scripts complexes ou des fonctionnalités non prises en charge. [3] La compatibilité dépend aussi de l’implémentation, car il importe non seulement que la syntaxe soit analysée, mais aussi que l’outil cible prenne en charge les profils, composants et nœuds employés par la scène. [3]
Lors de la vérification d’un fichier ou pipeline réel, examinez :
- la taille du fichier
- les textures
- le nombre de triangles
- les nœuds ou profils employés
- les URL externes
- les scripts
- les erreurs de validation
- le visualiseur cible
Applications : à quoi sert le format X3D
X3D reste adapté aux flux de travail nécessitant davantage qu’un paquet d’actifs statique. La Bibliothèque du Congrès décrit X3D comme une famille de formats dotée d’une architecture d’exécution associée, ce qui aide à comprendre les domaines dans lesquels il demeure utile. [25] En pratique, il fonctionne au mieux lorsque la structure de scène, les métadonnées, l’interaction et le contexte normatif importent autant que la géométrie. [1] [25] La diffusion via navigateur reste possible par des environnements d’exécution JavaScript tels que X_ITE et X3DOM. [20] [21]
Les usages typiques comprennent :
- la publication 3D web au moyen d’environnements d’exécution JavaScript. [20] [21]
- les scènes éducatives, de formation et de simulation. [25]
- la visualisation scientifique et technique. [25]
- l’échange riche en métadonnées ou guidé par les normes. [1] [25]
- la visualisation proche de la CAO plutôt que la création en CAO paramétrique. [25]
- les contextes d’archivage ou de préservation où un modèle de scène documenté est précieux. [25]
Limites et pièges
La principale limite pratique est l’inégalité de la prise en charge par les outils. X3D est étendu, et les implémentations ne prennent pas toutes en charge les mêmes profils, composants ou nœuds. [3] Un fichier peut donc être valide tout en se comportant différemment selon les visualiseurs, chargeurs, moteurs ou outils DCC. [3] La conversion est une autre source fréquente de pertes : les importateurs et exportateurs peuvent préserver la géométrie tout en supprimant le routage d’événements, les métadonnées, scripts, capteurs ou autres fonctions d’exécution. [3] Les notes de chaîne d’outils de Castle Game Engine l’illustrent directement en avertissant que l’exportateur Blender actuel vers X3D manque de nombreuses fonctionnalités importantes. [22] X3D fondé sur XML peut également sembler verbeux à créer et échanger, ce qui constitue une gêne de flux de travail même lorsque le fichier est techniquement correct. [8]
Pour les fichiers non fiables, considérez X3D comme du contenu actif. Les enregistrements de types média X3D de l’IANA avertissent que le contenu X3D peut inclure des scripts, URL externes et autres ressources liées, et qu’un contenu non fiable ne doit pas être exécuté dans un environnement non protégé. [16] [17] L’enregistrement Fast Infoset mentionne également des préoccupations liées à la décompression, y compris des données dont la taille peut considérablement augmenter lors du traitement. [18] Cela ne signifie pas que chaque fichier X3D est dangereux ; c’est un rappel d’appliquer les précautions de sécurité habituelles avec les visualiseurs, chargeurs et la diffusion web de contenu inconnu. [16] [17] [18]
Contexte actuel des normes et outils
Au 28 septembre 2026, la référence architecturale est ISO/IEC 19775-1:2023, Édition 4. [1] Les parties d’encodage XML, Classic VRML et binaire compressé citées dans cet article restent les publications ISO/IEC 19776-1/2/3:2015, tandis que les documents de suivi des normes de Web3D recensent les mises à jour d’encodage 4.0 comme projets ou travaux préliminaires, plutôt que comme remplacements plus récents publiés par l’ISO. [5] [6] [7] [12]
Les outils reflètent ce statut contrasté. X_ITE peut charger plusieurs formats apparentés dans un même environnement d’exécution web, ce qui est utile en pratique, mais la prise en charge par les outils n’équivaut pas à un statut de publication ISO. [20] Les documents JSON de Web3D décrivent également ISO/IEC 19776-5 comme un travail en préparation, avec le schéma JSON et les détails des extensions encore considérés comme des travaux de développement plutôt qu’un encodage ISO finalisé au même titre que le trio de 2015. [12] [13] [26]
À retenir : la place actuelle du format de fichier X3D
Le format de fichier X3D convient le mieux lorsque vous avez besoin d’interaction, de sémantique de graphe de scène, de contexte normatif ou de lisibilité pour l’archivage, plutôt que de la seule diffusion compacte à l’exécution. [1] [25] Conservez X3D lorsque ces propriétés importent ou lorsque la scène créée dépend de comportements allant au-delà de l’empaquetage d’actifs. [3] Préférez glTF lorsque l’objectif principal est la diffusion efficace de modèles, matériaux et animations vers des moteurs modernes et pipelines web. [24] Le modèle mental le plus utile est que X3D est une famille et une architecture, et non une simple syntaxe ; son ouverture et son utilisation dépendent donc à la fois de l’encodage et du flux de travail cible. [8] [25]
FAQ
Qu’est-ce qu’un fichier X3D ?
Un fichier X3D est un encodage de l’architecture X3D, et non la norme entière à lui seul. [1] L’extension .x3d désigne spécifiquement l’encodage XML, tandis que X3D comprend plus largement d’autres encodages et une architecture d’exécution pour les scènes 3D interactives. [8] [25]
X3D est-il identique à VRML ?
Non. VRML97 est la norme prédécesseure, publiée sous la référence ISO/IEC 14772-1:1997. [11] X3D a évolué à partir de cette lignée et inclut un encodage Classic VRML, mais les fichiers VRML historiques .wrl restent partie de l’écosystème VRML plus ancien plutôt que de devenir automatiquement des fichiers X3D. [9] [11] [19]
Comment ouvrir un fichier X3D dans un navigateur ?
Généralement en l’ouvrant par une page utilisant un environnement d’exécution JavaScript tel que X_ITE ou X3DOM. [20] [21] Cela diffère de la gestion native de .x3d par un navigateur comme format intégré. [20] [21]
Chrome, Firefox ou Safari ouvrent-ils nativement .x3d ?
En pratique courante, non. La méthode habituelle consiste à utiliser un environnement d’exécution ou une bibliothèque web telle que X_ITE ou X3DOM, ou un visualiseur ou moteur séparé comprenant X3D. [20] [21]
Quelle est la différence entre .x3d, .x3dv et .x3db ?
Ce sont différents encodages de X3D. .x3d est l’encodage XML, .x3dv est l’encodage textuel Classic VRML et .x3db est l’encodage binaire compressé. [8] [9] [10] Des variantes compressées avec gzip existent également, telles que .x3dz, .x3dvz et .x3db.gz. [8] [9] [10]
X3D ou glTF : quel format est préférable pour la 3D web ?
glTF est généralement le meilleur choix par défaut lorsque vous avez besoin d’une diffusion compacte d’actifs à l’exécution. [24] X3D est le meilleur choix lorsque vous avez besoin d’une sémantique de scène déclarative, d’interaction, de métadonnées ou du modèle d’exécution plus large guidé par les normes. [2] [3]
Niveau expert : comment les profils et composants X3D affectent-ils l’interopérabilité entre visualiseurs ?
Ils permettent aux implémentations de prendre en charge des sous-ensembles déclarés de X3D plutôt que l’architecture entière simultanément. [1] Cela améliore la modularité, mais signifie aussi que l’interopérabilité dépend de la prise en charge, par un visualiseur ou chargeur, des profils, composants et nœuds employés par le fichier. [3] Une scène peut donc être validée correctement tout en perdant son comportement dans un autre outil. [3]
Sources
- ISO/IEC 19775-1:2023 (architecture X3D, Édition 4) — https://www.iso.org/standard/82562.html
- Spécification Web3D : portée d’ISO/IEC 19775-1:2023 — https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/scope.html
- Spécification Web3D : concepts d’ISO/IEC 19775-1:2023 — https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/concepts.html
- Spécification Web3D : conformité à ISO/IEC 19775-1:2023 — https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/conformance.html
- ISO/IEC 19776-1:2015 (encodage XML) — https://www.iso.org/standard/60502.html
- ISO/IEC 19776-2:2015 (encodage Classic VRML) — https://www.iso.org/standard/60503.html
- ISO/IEC 19776-3:2015 (encodage binaire compressé) — https://www.iso.org/standard/60504.html
- Web3D : concepts XML 19776-1 (extensions + MIME + gzip) — https://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/concepts.html
- Web3D : concepts Classic 19776-2 (extensions + MIME + gzip) — https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/concepts.html
- Web3D : concepts binaires 19776-3 (extensions + MIME + gzip) — https://www.web3d.org/documents/specifications/19776-3/V3.3/Part03/concepts.html
- ISO/IEC 14772-1:1997 (référence VRML97) — https://www.iso.org/standard/25508.html
- Web3D : avancement des normes X3D (projet ou statut ISO) — https://www.web3d.org/new/x3d/progress
- Web3D : page du groupe de travail sur les normes X3D — https://www.web3d.org/working-groups/x3d-standards
- Web3D : qu’est-ce que X3D ? — https://www.web3d.org/x3d/what-x3d
- Web3D : points forts de X3D4 (mention HTML5 / PBR glTF) — https://www.web3d.org/x3d4-highlights
- IANA : enregistrement model/x3d+xml — https://www.iana.org/assignments/media-types/model/x3d%2Bxml
- IANA : enregistrement model/x3d-vrml — https://www.iana.org/assignments/media-types/model/x3d-vrml
- IANA : enregistrement model/x3d+fastinfoset — https://www.iana.org/assignments/media-types/model/x3d%2Bfastinfoset
- IANA : registre principal des types média (inclut model/vrml) — https://www.iana.org/assignments/media-types
- X_ITE : prise en main (version/date + formats pris en charge) — https://create3000.github.io/x_ite/
- X3DOM : page d’accueil (environnement JS, sans plugin) — https://www.x3dom.org/
- Castle Game Engine : « Scene Graph: X3D nodes » (notes d’implémentation) — https://castle-engine.io/x3d
- ISO/IEC 12113:2022 (glTF comme norme ISO) — https://www.iso.org/standard/83990.html
- Khronos : spécification glTF 2.0 (objectif/portée/types média) — https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html
- Bibliothèque du Congrès : famille de formats de fichiers X3D — https://www.loc.gov/preservation/digital/formats/fdd/fdd000490.shtml
- Web3D : convertisseur de feuille de style X3D→JSON (terminologie sur le statut de l’encodage JSON) — https://www.web3d.org/x3d/stylesheets/X3dToJson.html
- Manuel Blender (page de l’extension d’importation/exportation X3D) — https://docs.blender.org/manual/en/4.1/addons/import_export/scene_x3d.html