A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Features Comparison X3D 4.0 and glTF 2.0 | |||||||||||||||||||||||||
2 | 9 September 2022 | |||||||||||||||||||||||||
3 | References | |||||||||||||||||||||||||
4 | X3D 4.0 specification | https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/Architecture.html | ||||||||||||||||||||||||
5 | glTF 2.0 specification | https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html | ||||||||||||||||||||||||
6 | ||||||||||||||||||||||||||
7 | IEEE 3D Body Processing Paper | https://standards.ieee.org/downloads/3DBPWhitePaper.pdf | ||||||||||||||||||||||||
8 | IEEE 3DBP Features | https://docs.google.com/spreadsheets/d/15wCQ8CHJnQD_tmwaRPFfZqBe6KJzE1CzOKd2XOlPL4M/ | ||||||||||||||||||||||||
9 | IEEE 3DBP Working Group | https://standards.ieee.org/develop/wg/3DBP.html | ||||||||||||||||||||||||
10 | ||||||||||||||||||||||||||
11 | Value Propositions: Complementary with Ongoing Extensions | |||||||||||||||||||||||||
12 | X3D is a file format allowing 3D scenes to be used by a wide variety of applications. | |||||||||||||||||||||||||
13 | X3D can be used by Web browsers and other viewers, authoring tools, 3D Printing applications, text editors, and XML tools. | |||||||||||||||||||||||||
14 | X3D is the appropriate choice if the primary goal is saving your interactive 3D scenes for use over time and multiple applications. | |||||||||||||||||||||||||
15 | glTF™ (GL Transmission Format) is a specification for efficient transmission from server to client. | |||||||||||||||||||||||||
16 | glTF is the appropriate choice if the primary goal is viewing 3D scenes in a Web browser. | |||||||||||||||||||||||||
17 | X3D4 ISO Draft International Specification (DIS, under ballot) normatively references glTF 2 and includes Inline support. | |||||||||||||||||||||||||
18 | glTF 2, originally approved by Khronos, is now an ISO-approved Publicly Available Specification (PAS). | |||||||||||||||||||||||||
19 | Cross-referencing glTF extension capabilities is valuable, and permitting them in X3D players is certainly allowed when loading/adapting glTF models. | |||||||||||||||||||||||||
20 | Goal for this table is to refer to relevant glTF extensions wherever possible, encouraging further cooperative growth. | |||||||||||||||||||||||||
21 | ||||||||||||||||||||||||||
22 | Technology Comparison Summaries | |||||||||||||||||||||||||
23 | X3D: A royalty-free open ISO standards file format and run-time architecture to represent and communicate 3D scenes and models. | |||||||||||||||||||||||||
24 | X3D: Data Interchange and rendering format, useful for both general Web deployment and diverse 3D applications. | |||||||||||||||||||||||||
25 | X3D: Interoperability with other "vertical" functional domains and international Web standards. | |||||||||||||||||||||||||
26 | X3D: Metadata Support is thorough, working groups are currently mapping to external metadata vocabularies. | |||||||||||||||||||||||||
27 | X3D: Stable long-term archival stability and re-usability, two decades of proven capability. | |||||||||||||||||||||||||
28 | X3D: Ensure portability and consistency across multiple file formats, programming languages and platforms. | |||||||||||||||||||||||||
29 | X3D: Forward/backward compatibility and extensibility are specification goals that have been demonstrated successfully for 20 years. | |||||||||||||||||||||||||
30 | X3D: Strong intellectual property rights (IPR) policy, no cost-bearing patents allowed, IPR fully aligned with W3C Web standards. | |||||||||||||||||||||||||
31 | X3D: Strong community, wide industry compatibility, many importers/exporters, many standards-organization liaisons. | |||||||||||||||||||||||||
32 | X3D: full Inline support for glTF rendering features, especially plus advanced lighting model planned for X3D version 4. | |||||||||||||||||||||||||
33 | X3D native nodes directly corresponding to glTF compressed geometry not supported, but Inline loading of glb models is supported. | |||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | glTF is a royalty-free specification for efficient transmission and loading of 3D scenes and models. | |||||||||||||||||||||||||
36 | glTF: Transmission format designed for application rendering as an API-neutral runtime asset delivery format. | |||||||||||||||||||||||||
37 | glTF: A run-time delivery system for highly optimized mesh data for rendering, delivered from source to client. | |||||||||||||||||||||||||
38 | glTF: Backward compatibility is addressed by the glTF specification, see paragraph 2.5 Versioning | |||||||||||||||||||||||||
39 | glTF: Strong community, strong industry support, proven capabilities. | |||||||||||||||||||||||||
40 | glTF Khronos-approved Extensions Registry is available at https://github.com/KhronosGroup/glTF/blob/main/extensions/README.md | |||||||||||||||||||||||||
41 | TODO review and improve all these words, best matching glTF descriptions of its capabilities | |||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||
43 | Feature | X3D Support v4.0 | glTF Support (v2.0 binary + ASCII) | OBJ | FBX | STL | 3MF | PLY | ||||||||||||||||||
44 | Proprietary | No | No | Yes | Yes | No | No | |||||||||||||||||||
45 | ||||||||||||||||||||||||||
46 | Triangular meshes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
47 | Points and lines | Yes | Yes | Yes | Yes | No | No | |||||||||||||||||||
48 | Quad meshes | Yes | No | |||||||||||||||||||||||
49 | Primitive shapes: box, sphere, cone, cylinder, text | Yes | No | No | ||||||||||||||||||||||
50 | NURBS curves and surfaces | Yes | No | No | No | No | ||||||||||||||||||||
51 | Efficient representation of mesh in binary format | No, planned X3D v4.1 | Yes | No | No | No | ||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | CAD Structure (assemblies) | Yes | No | No | No | No | No | |||||||||||||||||||
54 | Animation (general) | Yes | Yes | No | Yes | No | No | |||||||||||||||||||
55 | Interaction: navigation, selection, manipulation (touch/over TouchSensor, PickableGroup) | Yes | No, planned | No | No | No | No | |||||||||||||||||||
56 | Clipping planes | Yes | No | No | No | No | No | |||||||||||||||||||
57 | Human animation: skeleton, skin, motion | Yes, including anatomically correct humans | Yes, ad hoc anatomy | No | Yes | No | No | |||||||||||||||||||
58 | Morph targets | HAnim displacers | Yes | No | Yes | No | No | |||||||||||||||||||
59 | Skin/joint animation | Yes | Yes | No | Yes | No | No | |||||||||||||||||||
60 | No | No | No | No | ||||||||||||||||||||||
61 | Events and ROUTE connections | Yes | No, animations are attached using channels | No | No | No | No | |||||||||||||||||||
62 | Scripting | Yes | No | No | No | No | No | |||||||||||||||||||
63 | Extensibility by authors (prototype mechanism) | Yes | No | No | No | No | No | |||||||||||||||||||
64 | Metadata Structures | Yes, Metadata* nodes and meta statements | Yes, paragraphs 3.2 Assets and 5.16 Extras | No | No | No | No | |||||||||||||||||||
65 | Annotation | No, planned X3D v4.1 | No | No | No | No | No | |||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | Lights | Yes | Extensions KHR_lights_punctual, EXT_lights_image_based, planned: KHR_lights_environment | No | No | |||||||||||||||||||||
68 | Material | Yes | Yes | Yes | Yes | No | ? | |||||||||||||||||||
69 | Physically Based Rendering, advanced lighting | X3D v4.0, matching glTF | Yes (e.g. metallic-roughness model) | No | Yes | No | No | |||||||||||||||||||
70 | Custom Shader | Yes (multiple shader languages supported) | No | No | Yes | No | No | |||||||||||||||||||
71 | Bump mapping | Yes | Yes | Yes | No | No | ||||||||||||||||||||
72 | Occlusion map | Yes | Yes | Yes | No | No | ||||||||||||||||||||
73 | Emissive map | Yes | Yes | Yes | No | No | ||||||||||||||||||||
74 | Normal map | Yes | Yes | Yes | No | No | ||||||||||||||||||||
75 | Cubemap textures, including generated cubemaps | Yes | No | Yes | No | No | ||||||||||||||||||||
76 | Environmental effects, e.g. Fog, Background | Yes | No | Yes | No | No | ||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | Image (2D) texturing | Yes (image files or embedded pixel map) | Yes | Yes | Yes | No | ||||||||||||||||||||
79 | Texture mapping | Yes | Yes | Yes | Yes | No | ||||||||||||||||||||
80 | Volume (3D) textures, imaging | Yes | No | No | No | |||||||||||||||||||||
81 | Movie (2D + time) texturing | Yes (optional support for streaming) | No | No | No | No | No | |||||||||||||||||||
82 | Audio | Yes (optional support for streaming) | No | No | No | No | No | |||||||||||||||||||
83 | Spatial 3D Audio | Yes | No | No | No | No | No | |||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | Inline | Supports X3D, scripts, glTF | No | No | No | No | No | |||||||||||||||||||
86 | Formats/encodings | ASCII (XML, ClassicVRML, JSON, languages) | Binary & ASCII (JSON based) | |||||||||||||||||||||||
87 | Binary: .x3db, Efficient XML Interchange (EXI) | No | ||||||||||||||||||||||||
88 | Inline glTF | No | ||||||||||||||||||||||||
89 | No | |||||||||||||||||||||||||
90 | Security | Yes (optional signature and encryption in XML) | No inherent encryption | No | ||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | (X3D note: collection of animation displacers equivalent to HAnim morph target) | |||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |