X3Dv4 Implementations
X3Dv4 Implementations Progress Tracking
X3Dv4 implementations are under way. X3D® Version 4 (X3Dv4) is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that provides close support for the HTML5 Recommendation. This page tracks implementation status as we prepare final specification, implementations and examples.
The X3D Working Group is executing the Web3D Standards Adoption Process and meeting guidance by Web3D Board of Directors, all to good effect. Web3D Consortium membership has value!
Approach Summary
X3D activity includes over 20 years of progressive evolution that maintains durable stability and backwards compatibility. The best way to introduce new capabilities is to propose them on the x3d-public mailing list so that they can be considered in detail. Then we add an agenda item to the next X3D Working Group teleconference so that the proposed capability can be discussed. Then, away we go:
- Specification Prose: produce draft X3Dv4 Architecture Specification (github) aligning with W3C HTML5/DOM Recommendations.
- Implement Code: open-source JavaScript X_ITE and X3DOM players (for HTML5) plus other X3D browsers.
- Evaluate Examples: using all available X3D implementations and over 4000 models as unit tests in X3D Example Archives.
- Finalize and Review: iteratively improve specification, implementations and examples until success thresholds are met.
X3D Node and Statement Inventory Comparison tracks progress of all known X3D players, authoring and validation tools.
Milestones Timeline
- 26-31 July 2019. Publish draft specification plus examples and implementation updates at Web3D2019/SIGGRAPH 2019 conferences.
- 16 December 2019. Working group accepts X3Dv4 new-technology submissions, with rich capability set publicized for implementation work.
- 31 January 2020. Specification Editors provide ISO Working Draft on github for use and confirmation by Web3D Consortium members.
- First quarter 2020. Implement new components in X3D players, evaluate scene examples for conformance. Publish weekly progress updates.
- August 2020. Release X3D4 Working Draft 2 for public comment and to encourage multiple implementations.
- When completed. Completed ISO Working Draft submitted to X3D Community, Web3D Consortium members, Web3D Board of Directors.
- BoD approval. Working Draft upgraded to Committee Draft and submitted with NWIP to ISO.
- Sequential updates. Specification updates for 19775-2 Scene Access Interface (SAI), file encodings (XML, ClassicVRML, JSON etc.) and language bindings (JavaScript, Java, Python) and X3D Semantic Web (possibly 19775-3). Regular repeating revision publication scheduled for 2021.
Expected X3Dv4 players include X3DOM and X_ITE X3D (both HTML5 compatible), view3dScene and FreeWrl (both standalone applications).
Components |
X3D Specification Paragraphs | Examples | Implementations | Tooltips, links to Validation | Notes |
---|---|---|---|---|---|
Audio and Sound | 16 Sound component | X3DOM (partial) | AudioClip, Sound | Strategies to Improve X3D v4 Sound Component for 3D sound model and audio rendering and progress report. Latest: design document. | |
Concepts: event model alignment | Modifications to Concepts, 4.4.8 Event model | X_ITE (complete), X3DOM (partial) | X3D Script/ROUTE events via DEF, HTML5/DOM events via id, browsers exchange event changes after render loops | ||
Core and Concepts | Logging events: Browser service and possible node | Instant Reality, Castle Game Engine | Mantis 1263, need to match and add specification prose | ||
Field name changes | Affects child SF/MFNode field naming for ~10 nodes | X3D-Tidy conversion updates once resolved | See Potential future changes for improved consistency of field names | ||
glTF file loading | Multiple nodes for scene graph integration and advanced rendering | X3DOM, others | glTF closely related to Lighting model, also provides geometric compression. | ||
HAnim v2 |
26 Humanoid Animation (HAnim) component, updating HAnimHumanoid and adding HAnimMotion node for BVH-style motion animation |
TODO update Basic Archives: HAnim |
Ready for update by other existing applications. |
HAnimMotion, HAnimHumanoid | HAnim v2 is undergoing ISO Final Draft International Standard editors review, expected completion 7 August 2019. |
Inline |
Allow loading other model types, security precautions |
TODO | X3DOM |
Mantis 744, Mantis 1151, Mantis 1171, Mantis 1257 TODO support STL, PLY? |
|
Consistent binding of Viewpoint, other nodes to match order of definition in model, inlines etc. | |||||
Layout component |
TODO review existing prose |
(see email by Andreas Plesch) | X_ITE (complete), X3DOM (partial) | Layout, LayoutGroup, LayoutLayer, ScreenFontStyle, ScreenGroup |
Mantis 1258. Decided no deprecation, needs further support. Note overlaps with HTML5/MAR. |
Lighting model |
TODO add new lighting and rendering capabilities to match glTF while retaining compatible backwards compatibility with X3Dv3 |
TODO |
TODO confirm: |
Satisfactory review by X3D Working Group of Physically Based Rendering (PBR), RGB and grayscale textures treatment proposals by Michalis Kamburelis |
|
Metadata field defaults | Reduce verboseness of MetadataSet structures in XML | Mantis 1092, primary effect limited to XML encoding defaults | |||
Navigation | 23.4.4 NavigationInfo | Consider adding TURNTABLE mode. Others? | |||
PointProperties | 12.4.5 PointProperties |
ready for more implementations |
PointProperties | ||
Projective Texture Mapping (PTM) | 43. Projective Texture Mapping Component | TODO publish | TODO | ||
Volume Rendering | Draft prose improvements needed for ImageTextureAtlas and MultiPlanar Reconstruction MPRVolumeStyle nodes | TODO needed | X3DOM, X_ITE | Satisfactory initial review by Medical and X3D Working Groups of specification drafts by Ander Arbelaiz VicomTech | |
Deferrals and Deprecation |
|||||
Annotation | 42 Annotation component | Xj3D (partial) | Deferred until X3Dv4.1, further redesign needed | ||
Geospatial | GeoOrigin | Review many existing implementations | Take off deprecated list, do better job describing tradeoffs. Mantis 689 |
Requirements and References
- X3D v4 Strategy provides "big picture" overview of Web3D Consortium activities.
- X3D v4 Implementation Status is this document, which tracks overall progress.
- X3D version 4 Development lists numerous technical goals and requirements, each graduating to this document.
- Web3D Standards Adoption Process is working satisfactorily, collaboration is a powerful mechanism for success.
- Web3D Consortium Github Repository is available to members for editing draft X3Dv4 specification.
Team Efforts
All technical issues are advancing satisfactorily with steady progress. Greater participation speeds progress.
- Web3D member-only information is carefully noted and separately published on x3d@web3d.org mailing list.
- X3D working group weekly meeting minutes are primarily posted publicly to build understanding and momentum.
For best progress, we have multiple tasks pending and welcome all participation. Each new contributor is valued and will benefit also.
- Dr. Dick Puk and Dr. Don Brutzman: ISO specification drafts and revisions on member-only github site.
- Michalis Kamburelis: glTF, lighting, physically based materials, shaders, additional advanced topics.
- Dr. Vince Marchetti: PointProperties, CAD Design Printing and Scanning (DPS) extensions.
- Dr. Andreas Plesch: software development trees, testing X_ITE and X3DOM with HTML browsers.
- Doug Sanden: FreeWrl browser implementation, Projective Texture Mapping (PTM), HAnimMotion, geospatial tiles, etc.
- Holger Seelig: X_ITE player and Titania authoring tool.
- Dr. Kwan-Hee Yoo: Projective Texture Mapping (PTM) component.
- Ander Arbelaiz and Dr. Nicholas Polys: Volume rendering component.
- Efi Lakka and Dr. Athanasios Malamos: Audio and sound improvements.
- Dr. Jakub Flotynski, Dr. Athansios Malamos, Dr. Leslie Sikos and Dr. Don Brutzman: X3D Semantic Web Ontology.
- Dr. Nicholas Polys: review by Medical and Heritage working groups.
- WebXR representative needed for Mixed Augmented Reality (MAR) and X3Dv4.1 future work.
X3D File Encodings and Programming Language Bindings
- X3D Graphics Standards: Specification Relationships shows how multiple file encodings and language bindings relate.
- X3D Resources: Example Archives show all file encodings for thousands of X3D examples.
- X3D Resources: Programming Languages summarizes programming library efforts.