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

  1. 26-31 July 2019.     Publish draft specification plus examples and implementation updates at Web3D2019/SIGGRAPH 2019 conferences.
  2. 16 December 2019. Working group accepts X3Dv4 new-technology submissions, with rich capability set publicized for implementation work.
  3. 31 January 2020.     Specification Editors provide ISO Working Draft on github for use and confirmation by Web3D Consortium members.
  4. First quarter 2020.   Implement new components in X3D players, evaluate scene examples for conformance. Publish weekly progress updates.
  5. August 2020.          Release X3D4 Working Draft 2 for public comment and to encourage multiple implementations.
  6. When completed.     Completed ISO Working Draft submitted to X3D Community, Web3D Consortium members, Web3D Board of Directors.
  7. BoD approval.          Working Draft upgraded to Committee Draft and submitted with NWIP to ISO.
  8. 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).

X3Dv4 Draft Specification Implementation Status

Components
and Nodes

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

X3DJSAIL 

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

9 Networking component

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

36 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

17 Lighting component

TODO

TODO confirm:

Castle Game Engine

X3DOM

 

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

Xj3D example

Basic Archives: Points

Xj3D

X_ITE

ready for more implementations

PointProperties

Mantis 1252

ISO/IEC 9973 Items Register

Projective Texture Mapping (PTM) 43. Projective Texture Mapping Component TODO publish

FreeWrl

X3DOM?

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

  1. X3D v4 Strategy provides "big picture" overview of Web3D Consortium activities.
  2. X3D v4 Implementation Status is this document, which tracks overall progress.
  3. X3D version 4 Development lists numerous technical goals and requirements, each graduating to this document.
  4. Web3D Standards Adoption Process is working satisfactorily, collaboration is a powerful mechanism for success.
  5. 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

The X3D Architecture is mappable with equivalent power in multiple file encodings and multiple programming languages.  We are carefully tracking X3D support both in X3Dv3.3 and X3Dv4.0, so that version 4 updates can proceed immediately and compatibly as X3Dv4 solidifies. Much work continues.  To learn more: