X3D version 3.4 Development
X3D version 3.4 Development efforts are evolutionary improvements to the widely proven X3D Graphics architecture.
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.
The following list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 3.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.
- Full support for all existing X3D v3.3 components:
- Is it necessary for Layout component to be deprecated or improved?
Each of the following possibilities for X3D 3.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.
- Images: recommended formats for imagery and video (.gif .bmp .svg .flv .exr .hdr etc.). Consider QR codes as a first-class image type since it contains imagery and information, especially useful in Mixed Augmented Reality (MAR) applications
- Materials: advanced parameters
- Multitexture: review for correctness, completeness and conformance of rendering example scenes
- Rendering: bump maps, shadows, edge smoothing
- Shaders: improved support and better interoperability, library of examples; CommonSurfaceShader?
- Texturing: Texture atlas, projective texture mapping (PTM), RenderedTexture node (for multipass rendering - 2d texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also impl. in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc.).
- Review X3D event interoperability with other event models
- Audio and video: adding royalty-free formats, streamability, disabling attenuation, 3D aural spatialization using reflection from simple geometry (such as RESOUND or Web Audio API)
- Computer Aided Design (CAD) Interactive/Mobile Profile, to include:
- CADInterchange profile plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane
- Part selection/animation, 3D printing, Compressed Binary Encoding (CBE), possibly annotations component
- Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors
- Generalized input/output interface support
- Geometry: point size (or perspective rendering), progressive meshes (suitable for both compression and streaming), 3D ExtrudedText, support for Web typography using Web Open Fonts Format (WOFF)
- Geospatial X3D component: Enhanced Geospatial Component - spatial reference frame (SRF) and KML support, OGC 3D Portrayal, GpsSensor, OpenLayer mashups
- Humanoid Animation (H-Anim) anatomical correctness for skeleton and skinning, motion capture and playback, interchangeable avatars, animation for hands feet and faces
- Interoperability: include class attribute for all nodes to all encodings
- Medical working group capabilities
- Metadata: support for embedding information useful for applications utilizing X3D
- Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations
- Mixed and Augmented Reality (MAR): integration of multiple capabilities with mobile devices
- Networking: consider NetworkSensor and event-passing issues, streaming using JSON, server-side 3D topics
- Security and privacy:
- Viewing and navigation: cinematic camera control, alternative navigation types (such as PAN, TURNTABLE etc.), Recommended navigation behaviours review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., impl. in X3DOM and InstantReality)
All suggestions and recommendations are welcome. Component improvements and additions are approved by Web3D Consortium members.
- TODO: Which experimental nodes are ready? Candidates include Fraunhofer, Bit Management, other members and working groups?
- TODO: articulate Big Data and Cloud, server-side visualization, related issues
Please contact us if you think additional technologies need to be considered.
Backwards and forwards compatibility
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.
X3D version 4.0 Development efforts are focused on HTML5/Declarative 3D/X3DOM and Augmented Reality Continuum (ARC) technologies, which may require architectural changes. Some new technologies may get pushed from 4.0 to 3.4 (or back again) after careful consideration by the respective working groups.
- 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).
- Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the X3D Compressed Binary Encoding Call For Contributions.
- ISO/IEC 16262:2011 Information technology — ECMAScript language specification (.zip download)
- Downloadable from ISO Publicly Available Standards site without charge
- This relates to 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript
- X3D CADInterchange Profile goal. Implementations are complete and tested. The X3D CADInterchange Profile was completed as part of X3D version 3.3 during 2013.
- Mobile Profile. Calling out a reduced palette for mobile devices remains a potential goal for 2014, but might instead become part of X3D version 4.0 efforts.
- X3D Compressed Binary Encoding (CBE) goal. This work is proceeding in parallel.
- X3D version 3.4 goal. Review progress during SIGGRAPH 2014, continue work in parallel with X3D version 4.0. Web3D Consortium members decide when a draft specification proceeds to ISO.