[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions. This effort is driven by the X3D Graphics Working Group with regular community outreach.

Latest revision as of 04:43, 3 December 2018

X3D Version 4 is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions. This effort is driven by the X3D Graphics Working Group with regular community outreach.

X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture. Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.

The Candidate Capabilities list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.

Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider joining Web3D Consortium to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.

Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0

Is it necessary for Layout component to be deprecated or improved?

Are there other features or capabilities that should not or are not able to move into V4.0?

Candidate Capabilities

Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.
Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.

Please contact us if you think additional technologies need to be considered.

Backwards and Forwards Compatibility

A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.

Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications

A great majority of X3D nodes and features are likely achievable without change

Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)

A few features might be refactored, deprecated or obsoleted (none yet identified)

Name deconfliction: HTML Script versus embedded X3D Script

The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.

X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.

X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.

Related specification support and changes

As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java).

Architectural Considerations

This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes. Special attention is needed to minimize incompatibilities with legacy software and content.

Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.

Related Work

X3D Efficient Binary Encoding (EBE). This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM

X3D JavaScript Object Notation (JSON) Encoding. This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.

X3D version 4.0 (HTML5/X3D DOM). This work is proceeding in parallel. X3D version 4 support is expected.

X3D version 4.1 (Mixed and Augmented Reality). Nodes and capabilities in this arena will build on v4.0 and HTML5. Experimentation, evolution and evaluation occurs throughout.