Difference between revisions of "Augmented Reality Roadmap for X3D"

From Web3D.org
Jump to: navigation, search
(Integrating X3D into HTML (X3dom))
(add better schema of X3D profiles, no excessive new lines/carriage returns fix title - when word is capitalized it is noun, not adjective)
 
(129 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Abstract ==
+
== '''Augmented Reality (AR) Roadmap for X3D''' ==
Augmented Reality (AR) and Mixed Reality (MR) operate across many devices, ranging from small hand-held mobile phones to laptops, desktop, and full-blown walk-around CAVES. There is always a mix of both 2D imagery and 3D graphics, plus a mix of the real world and the virtual world.
+
Position paper for the Fourth International AR Standards Meeting
  
X3D is a mature standard with many implementations and many converters. It collects numerous proven technologies together in a workable way, providing a simple and coherent way for authors to create 3D models and VR applications. Multiple implementations and extensions for AR have already been demonstrated in X3D. It has also been proven that mobile X3D can fit well with HTML5 and DOM improvements. X3D’s extensibility gives us the advantage to define component levels and profiles as easily expanded extensions. This all "plays well" when moving from simple mobile applications to bigger models and spaces.
+
October 24-26, 2011, Basel, Switzerland
  
Current work in AR is focused on harmonizing proven capabilities into best practices for AR and 3D graphics, implementable by multiple X3D viewers and usable by content authors. The X3D group is thinking in terms of the larger 2D + 3D space that authors and users want. X3D,a reliable and viable standard can save a lot of time for developers looking to design new AR applications.
+
Anita Havele
  
== '''Motivation: Value of X3D Standard for AR ==
+
Web3D Consortium, California, USA
  
Augmented Reality (AR) and Mixed Reality (MR) operate across many display devices, ranging from small hand-held mobile phones to tablets, laptops, desktops, and full-blown walk-around CAVE spaces. There is always a combination of both 2D imagery and 3D graphics, plus a mix of the real world and virtual worlds. Many people are especially interested in lightweight AR that they can use as part of the GPS-aware mobile devices.  
+
== '''Abstract''' ==
 +
Augmented Reality (AR) and Mixed Reality (MR) operate across many display devices, ranging from small hand-held mobile phones to laptops, desktop, and full-blown walk-around CAVE spaces. There is always a combination of both 2D imagery and 3D graphics, plus a mix of the real world and virtual worlds. Numerous innovative AR activities are ongoing by many researchers, companies and study groups. Coordination and collaboration between numerous developers and standards organizations is likely necessary for AR to eventually become a seamless part of the Web infrastructure.  
  
Extensible 3D graphics(X3D) a roylaty free and ISO certified Standard developed by the Web3D Consortium (www.web3d.org) that originated from VRML, now in XML already has capabilities to support AR and MR applications.
+
X3D is a mature standard with many implementations and many converters. Multiple implementations and extensions for AR have already been demonstrated in X3D. These efforts have been successful because X3D integrates numerous proven technologies, providing a simple and coherent way for authors to create 3D models and VR applications. X3D’s extensibility provides the ability to extend the standard with new profiles and components. X3D’s extensibility allows it to "play well" when moving from simple mobile applications to bigger models and spaces and integrate with the web environment of HTML, JavaScript, and DOM.
X3D is a mature standard with many implementations and many converters. It collects numerous proven technologies together in a workable way, providing a simple and coherent way for authors to create 3D models and VR applications. Current X3D efforts include identification of critical lightweight components suitable for mobile devices and AR applications. X3D can save a lot of time for developers looking to design new AR applications.  
+
  
Because there are multiple implementations and extensions for AR that have already been demonstrated for X3D, it is clear that we can build an AR component for X3D. It will have lightweight capabilities suitable for mobile devices, plus additional compatible capabilities that work with larger 3D scenes and spaces. We will take advantage of X3D extensibility to define component levels and profiles that capture these palettes as easily expanded extensions.  
+
The future consumer demand for AR applications will go beyond the current use of geo-located points of interest. The Web3D Consortium is working on new paradigms to develop standards that address the larger 2D + 3D space for AR. Currently the Consortium is harmonizing proven capabilities into best practices for AR and 3D graphics, implementable by multiple X3D viewers, and usable by content authors. X3D, a reliable and viable standard, can save considerable time for developers looking to design new AR applications.
  
It is sometimes tempting to think of a mobile device as simply a rotatable 2D display situated within the 3D real world. However 2D displays by themselves can be pretty limiting and oversimplified. The X3D group is thinking in terms of the larger 2D + 3D space that many authors and users want. Demonstrations are also showing that mobile X3D can fit well with HTML5 and DOM improvements. This all "plays well" when moving from simple mobile applications to bigger models and spaces.  
+
== '''Motivation: Value of the X3D Standard for AR ==
 +
Augmented Reality (AR) and Mixed Reality (MR) operate across many display devices, ranging from small hand-held mobile phones to tablets, laptops, desktops, and immersive CAVE spaces. There is always a combination of both 2D imagery, 3D graphics, the real world and virtual worlds. Many people are especially interested in lightweight AR that they can use as part of GPS-aware mobile devices.
 +
Extensible 3D graphics (X3D),a royalty free and ISO certified open standard developed by the Web3D Consortium (www.web3d.org) that originated from VRML, and now encoded in XML, already has capabilities to support AR and MR applications. X3D is a mature standard with many implementations and many converters. It unites numerous proven technologies together, providing a simple and coherent pipeline for authors to create 3D models and VR applications. [http://www.web3d.org/realtime-3d/videos See X3D Examples]. X3D can save significant time for developers looking to design new AR applications. [http://www.web3d.org/realtime-3d/videos/augmented-reality-demonstration See X3D-AR using Instant Reality 3D Engine]. Current X3D efforts include identification of critical lightweight components suitable for mobile devices and AR applications.  
  
Now is the time for serious AR developers to consider these essential challenges. Our current work is focused on harmonizing proven capabilities into best practices for AR and 3D graphics, implementable by multiple X3D viewers and usable by content authors. Collaborative work is happening to extend X3D to make AR/MR capable. Numerous innovative AR activities are ongoing by many researchers, companies and study groups. Web3D is engaged is all these efforts. Coordination and collaboration between numerous developers and standards organizations is necessary for AR to eventually become a seamless part of the Web infrastructure.
+
It is sometimes tempting to think of a mobile device as simply a rotatable 2D display situated within the 3D real world. However, 2D displays by themselves can be limiting and oversimplified. The X3D group is thinking in terms of the larger 2D + 3D space that many authors and users want. Demonstrations are also showing that X3D can fit well with HTML5 and DOM improvements. This all "plays well" when moving from simple mobile applications to bigger models and spaces. [http://www.web3d.org/realtime-3d/videos/augmented-reality-demonstrationSee See Touchscreen interaction VR/AR].
 +
 +
Because there are multiple implementations and extensions for AR that have already been demonstrated for X3D, it is clear that we can build an AR component for X3D. It will have lightweight capabilities suitable for mobile devices, plus additional compatible capabilities that work with larger 3D scenes and spaces. We will take advantage of X3D extensibility to define component levels and profiles that capture these palettes as easily expanded extensions.
  
== X3D Strategy for AR ==
+
== '''X3D Strategy for AR''' ==
 +
Multiple experimental AR nodes have been proposed and implemented for X3D by Web3D Consortium members. A comprehensive list of AR nodes is being considered by the X3D AR Working Group and formally written up as the Augmented Reality (AR) component for the X3D Specification. Establishing common implementations and examples to demonstrate successful interoperability for the specification is of primary importance. Recent work in HTML/DOM, geospatial, and palettes for interactive scenes has led to a proposal for a new lightweight (Mobile) Profile for X3D. Heavyweight advanced capabilities for mixed reality, CAVEs etc. will be kept separate from Mobile but available in AR-related X3D components.
  
Multiple experimental AR nodes have been proposed and implemented for X3D by Web3D Consortium members. A comprehensive list of AR nodes is being considered by the X3D AR Working Group and formally written up as the Augmented Reality (AR) component for the X3D Specification. Establishing common implementations and examples to demonstrate successful interoperability for the spec is of primary importance. Recent work in HTML5/DOM, geospatial GpsSensor, and palettes for interactive scenes has led to a proposal for a '''new lightweight (Mobile) Profile for X3D'''. Heavyweight advanced capabilities for mixed reality, CAVEs etc. will be kept separate from Mobile but available in AR-related X3D components.
+
=== X3D Relation to Reality–Virtuality Continuum ===
 +
The Reality–Virtuality Continuum is often used to describe the range of functionality involved. The goals for X3D capabilities are broad.  
  
Continued collaboration and reaching out to the ISO-SC24 Working Group, W3C Augmented Reality Community Group, newly formed OGC ARML Working Group, KHRONOS, and the AR Standards Group is crucial. The common goal for Web3D Consortium remains maximum interoperability with all AR and Web standards.
+
[[image:X3D-Relation_to_Reality–Virtuality_Continuum.png|400px|X3D Relatioon to MR]] -
  
=== X3D Relation to Reality–Virtuality Continuum ===
+
=== Extending X3D for AR/MR applications ===
 +
Many capabilities are possible and relevant for adding AR/MR functionality to Web-based 3D graphics.  The current challenge facing the X3D AR Working Group is deciding how to best merge and harmonize these capabilities consistently with the X3D Specification and X3D best practices.
  
The [http://en.wikipedia.org/wiki/Virtuality_Continuum Reality–Virtuality Continuum] is often used to describe the range of functionality involved.  The goals for X3D capabilities are broad.
+
The following list shows the functions and features under consideration for supporting AR and MR visualization in X3D:
  
          | - - - - - - - - - Mixed Reality (MR) - - - - - - - - |
+
*Adding real world view
     
+
**Access to live video (e.g. local camera on the user's portable device)  
    <<================================================================>>
+
***Live video stream as a texture on geometry within the X3D scene
     
+
***Live video stream as a background of the X3D scene
      Real          Augmented                Augmented        Virtual
+
*Merging real and virtual images correctly
      Environment  Reality (AR)           Virtuality (AV)  Environment
+
**Access to calibration information of the camera device providing the video stream
     
+
**Viewpoint nodes using calibration information to set projection parameters
    <<================================================================>>
+
**Chroma keying of live video stream texture (rendering pixels in key color transparent)  
   
+
**Correct occlusion between real and virtual objects
                    | - - - - - - X3D AR-Related Nodes - - - - - - - - |
+
***Depth masking with virtual representation of physical object
 +
***Support for depth image and depth imaging devices
 +
*Tracking, registration and real-time interaction
 +
**Access to motion tracking information
 +
**Camera for registration between real and virtual spaces
 +
**Other physical objects for real-time interactivity
  
=== '''Extending X3D for AR/MR applications''' ===
+
==== Example X3D-AR Scene ====
 +
[[image:x3d-AR-Scene.png|300px|MR visualization]]
  
Many capabilities are possible and relevant for adding AR/MR functionality to Web-based 3D graphicsMost have already been demonstrated as feasible, and some have been shown several times.  The current challenge facing the X3D AR Working Group is deciding how to best merge and harmonize these capabilities consistently with the X3D Specification and X3D best practices.
+
<Scene>
 +
    <CameraSensor DEF=‘cam’/>
 +
    <Background DEF=‘bg’/>
 +
    <ROUTE fromNode=‘cam' fromField=‘image‘ toNode=‘bg' toField=‘image'/>
 +
    <MatrixViewpoint cameraSensor=‘cam’/>
 +
    <Transform translation="0 0 40">
 +
      <Shape>
 +
          <Appearance>
 +
              <Material diffuseColor=‘0 0.5 1'/>
 +
          </Appearance>
 +
          <Sphere radius="40"/>
 +
      </Shape>
 +
    </Transform>
 +
  </Scene>
  
The following list shows the functions and features under consideration for supporting AR and MR visualization in X3D:
+
Continued collaboration and reaching out to the ISO-SC24 Working Group, W3C Augmented Reality Community Group, newly formed OGC ARML Working Group, KHRONOS, and the AR Standards Group is crucial. The common goal for Web3D Consortium remains maximum interoperability with all AR and Web standards. The Web3D Consortium's liaisons to these groups communicate with each other regularly to ensure X3D will be complementary and not redundant to other standards.
*Adding real world view
+
**Access to live video (e.g. local camera on the user's portable device)
+
***Live video stream as a texture on geometry within the X3D scene
+
***Live video stream as a background of the X3D scene
+
*Merging real and virtual images correctly
+
**Access to calibration information of the camera device providing the video stream
+
**Viewpoint nodes using calibration information to set projection parameters
+
**Chroma keying of live video stream texture (rendering pixels in key color transparent)
+
**Correct occlusion between real and virtual objects
+
***Depth masking with virtual representation of physical object
+
***Support for depth image and depth imaging devices
+
*Tracking, registration and real-time interaction
+
**Access to motion tracking information
+
**Camera for registration between real and virtual spaces
+
**Other physical objects for real-time interactivity
+
  
== X3D's Design and layered "profiles" ==
+
== '''Why X3D is a viable and proven standard platform for implementing AR/MR''' ==
 +
The Web3D Consortium is a standardization group that has been producing and maintaining the X3D standard for ISO for more than 10 years.
  
 +
=== '''Architecture and Features of X3D''' ===
 
X3D has been developed to meet a specific set of market and technical requirements. To meet these requirements, X3D adopts the following design objectives:  
 
X3D has been developed to meet a specific set of market and technical requirements. To meet these requirements, X3D adopts the following design objectives:  
 
 
*Separate the runtime architecture from the data encoding  
 
*Separate the runtime architecture from the data encoding  
 
*Support a variety of encoding formats, including the Extensible Markup Language (XML)  
 
*Support a variety of encoding formats, including the Extensible Markup Language (XML)  
Line 73: Line 85:
 
*Eliminate, where possible, unspecified or underspecified behaviors  
 
*Eliminate, where possible, unspecified or underspecified behaviors  
  
The modular architecture of X3D allows for layered "profiles" that can provide increased functionality for immersive environments and enhanced interactivity or focused data interchange formats for vertical market applications within a small downloadable footprint composed of modular blocks of functionality ("Components"), that can be easily understood and implemented by application and content developers. Components can be individually extended or modified through adding new "levels", or new components can be added to introduce new features, such as streaming. Through this mechanism, advancements of the specification can move quickly because development in one area doesn't slow the specification as a whole. Importantly, the conformance requirements for a particular piece of content are unambiguously defined by indicating the profiles, components and levels required by that content.
+
=== X3D Features ===
*Interchange is the basic profile for communicating between applications. It support geometry, texturing, basic lighting, and animation. There is no run time model for rendering, making it very easy to use and integrate into any application.
+
Not only are X3D features numerous and selectable, they are also fully integrated in a consistent way so that tools and authors might easily use them. For example:
*'''Interactive enables basic interaction with a 3D environment by adding various sensor nodes for user navigation and interaction (e.g., PlaneSensor, TouchSensor, etc.), enhanced timing, and additional lighting (Spotlight, PointLight).'''
+
*XML Integration enables simple X3D use with HTML, Web Services, etc.
*Immersive enables full 3D graphics and interaction, including audio support, collision, fog, and scripting.
+
*Distributed Networks accessibility
*Full includes all defined nodes including NURBS, H-Anim and GeoSpatial components.
+
*Cross-platform, inter-application file and data transfer
 +
*Componentized: allows lightweight core 3D runtime delivery engine
 +
*Extensible: allows components to be added to extend functionality for vertical market applications and services
 +
*Profiled: standardized sets of extensions to meet specific application needs
 +
*Evolutionary: easy to update and preserve VRML97 content as X3D
 +
*Broadcast/Embedded Application Ready: from mobile phones to supercomputers
 +
*Real-Time: graphics are high quality, real-time, interactive, and include audio and video as well as 3D data.
 +
*Well-Specified: makes it easier to build conformant, consistent and bug-free implementations
 +
 
 +
==== X3D Support ====
 +
*3D graphics and programmable shaders - Polygonal geometry, parametric geometry, hierarchical transformations, lighting, materials, multi-pass/multi-stage texture mapping, pixel and vertex shaders, hardware acceleration
 +
*2D graphics - Spatialized text; 2D vector graphics; 2D/3D compositing
 +
*CAD data - Translation of CAD data to an open format for publishing and interactive media
 +
*Animation - Timers and interpolators to drive continous animations; humanoid animation and morphing
 +
*Spatialized audio and video - Audio-visual sources mapped onto geometry in the scene
 +
*User interaction - Mouse-based picking and dragging; keyboard input
 +
*Navigation - Cameras; user movement within the 3D scene; collision, proximity and visibility detection
 +
*User-defined objects - Ability to extend built-in browser functionality by creating user-defined data types
 +
*Scripting - Ability to dynamically change the scene via programming and scripting languages
 +
*Networking - Ability to compose a single X3D scene out of assets located on a network; hyperlinking of objects to other scenes or assets located on the World Wide Web
 +
*Physical simulation and real-time communication - Humanoid animation; geospatial datasets; integration with Distributed Interactive Simulation (DIS) protocols
  
 
=== X3D's layered Components and Profiles ===
 
=== X3D's layered Components and Profiles ===
 +
The modular architecture of X3D allows for layered "profiles" that can provide increased functionality for immersive environments and enhanced interactivity or focused data interchange formats for vertical market applications within a small downloadable footprint.  This footprint is composed of modular blocks of functionality ("Components"), that can be easily understood and implemented by application and content developers. Components can be individually extended or modified through adding new "levels", or new components can be added to introduce new features, such as streaming. Through this mechanism, advancements of the specification can move quickly because development in one area doesn't slow the specification as a whole. Importantly, the conformance requirements for a particular piece of content are unambiguously defined by indicating the profiles, components and levels required by that content.
 +
 +
*Interchange is the basic profile for communicating between applications. It supports geometry, texturing, basic lighting, and animation. There is no run time model for rendering, making it very easy to use and integrate into any application.
 +
*Interactive profile enables basic interaction with a 3D environment by adding various sensor nodes for user navigation and interaction (e.g., PlaneSensor, TouchSensor, etc.), enhanced timing, and additional lighting (Spotlight, PointLight).
 +
*Immersive profile enables full 3D graphics and interaction, including audio support, collision, fog, and scripting.
 +
*Full profile includes all defined nodes including NURBS, H-Anim and GeoSpatial components.
 +
 +
[[image:profiles1.gif|200px|X3D Profiles]]
 +
[[image:profiles2.gif|200px|X3D Profiles]]
  
The X in X3D stands for Extensible. X3D is highly modular in order to allow both authors and implementers to choose the palette of capability they might need for a given application area. This flexibility is a major virtue which lets the 3D content declare how much implementation support is needed.
+
The X in X3D stands for Extensible. X3D is highly modular in order to allow both authors and implementers to choose the palette of capability they might need for a given application area. This flexibility is a major virtue which lets the 3D content declare how much implementation support is needed.  
  
 
                 8 Profiles                    for common use cases    [http://web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/profileIndex.html X3D Profiles]
 
                 8 Profiles                    for common use cases    [http://web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/profileIndex.html X3D Profiles]
Line 89: Line 130:
 
         Two Hundred Eighteen X3D Nodes        for every little thing! [http://web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/nodeIndex.html X3D Nodes]
 
         Two Hundred Eighteen X3D Nodes        for every little thing! [http://web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/nodeIndex.html X3D Nodes]
  
For comparison purposes, 68 nodes are in the X3D Interactive profile which is lightweight already runs on mobile devices. Approximately 10 new nodes are being considered for AR, of which only a portion are suitable for mobile. This is an area of active work: minimizing software footprint while maximizing user capability. [http://www.web3d.org/realtime-3d/x3d/what-x3d Modular X3D]  
+
For comparison purposes, 68 nodes are in the X3D Interactive profile which is lightweight and already runs on mobile devices. Approximately 10 new nodes are being considered for AR, of which only a portion are suitable for mobile. This is an area of active work: minimizing software footprint while maximizing user capability. [http://www.web3d.org/realtime-3d/x3d/what-x3d See Modular X3D].
 
+
 
+
Multiple implementations and extensions for AR have already been demonstrated in X3D. X3D’s extensibility provides the advantage to define component levels and profiles as extensions, allowing applications to not have to implement the entire specification. It has also been demonstrated that mobile X3D can fit well with HTML5 and DOM improvements. This all "plays well" when moving from simple mobile applications to bigger models and spaces.
+
 
+
Current Web3D Consortium AR working group activities are focused on harmonizing proven capabilities into best practices for AR and 3D graphics, implementable by multiple X3D viewers and usable by content authors. This Working Group is thinking in terms of the larger 2D + 3D space that authors and users want. We will harmonize lightweight AR components within an easily implementable X3D Mobile Profile. Heavyweight requirements for MR and CAVEs can be compatibly defined.
+
  
 
=== '''X3D Lightweight/Mobile profile''' ===
 
=== '''X3D Lightweight/Mobile profile''' ===
 
+
Recent work in HTML5/DOM, geospatial GpsSensor, and palettes for interactive scenes has lead to a proposition of a new lightweight (Mobile) Profile for X3D. A lightweight profile is valuable for author creation of simple but dramatic content. This approach allows a small-footprint and efficient operation of X3D on mobile devices, easy export from other formats, and a simple vocabulary for new authors.
Recent work in HTML5/DOM, geospatial GpsSensor, and palettes for interactive scenes has lead to a propostion of a new lightweight (Mobile) Profile for X3D. A lightweight profile is valuable for author creation of simple but dramatic content. This approach allows a small-footprint and efficient operation of X3D on mobile devices, easy export from other formats, and a simple vocabulary for new authors.
+
  
 
This extension, optimization, and refinement process can unlock carefully chosen X3D capabilities for important new areas:
 
This extension, optimization, and refinement process can unlock carefully chosen X3D capabilities for important new areas:
 
*Mobile applications
 
*Mobile applications
 
*Lightweight HTML5 web pages
 
*Lightweight HTML5 web pages
*Augmented reality (AR)
+
*Augmented Reality (AR)
  
 
Heavyweight advanced capabilities for mixed reality, CAVEs etc. are defined and kept separate from lightweight/Mobile profile but available in the other AR-related X3D components.
 
Heavyweight advanced capabilities for mixed reality, CAVEs etc. are defined and kept separate from lightweight/Mobile profile but available in the other AR-related X3D components.
  
== '''Integrating X3D into HTML (X3dom)''' ==
+
=== '''Integrating X3D into HTML (X3dom)''' ==
 +
The traditional way to embed a X3D augmented reality scene into a webpage uses a plug-in that needs to be installed by the user. The plug-in approach has always been an issue for web developers and users. Several efforts have been initiated by Web3D on how to integrate X3D with HTML. Our goal is to bring 3D to Web developers by fully integrating 3D content into HTML documents. Today Web pages exist as large collections of hierarchical elements that are rendered to the page; all content appears in the Document Object Model (DOM). Several tools are available to allow programmers to manipulate the DOM, in particular tools and frameworks based on JavaScript. Placing 3D graphics in the DOM allows these JavaScript tools to access and manipulate 3D graphics. Web3D and Fraunhofer IGD‘s recent efforts – [http://www.x3dom.org X3dom], integrating X3D with HTML and the DOM, have proven this capability. X3DOM's design goals are to have a live X3D scene in your HTML DOM, allowing you to manipulate the 3D content by only adding, removing, or changing DOM elements. No specific plugin or plugin interface (like the X3D-specific SAI) is needed. It also supports HTML events (like “onclick”) on 3D objects. [http://www.x3dom.org/?page_id=2429 See X3dom Showcase].
  
The traditional way to embed a X3D augmented reality scene into a webpage uses a plug-in that needs to be installed by the user. The plug-in approach has always been an issue for web developers and users. Several efforts have been initiated by Web3D on how to integrate X3D with HTML. Our goal is to bring 3D to Web developers by fully integrating 3D content into HTML documents. Today Web pages exist as large collections of hierarchical elements that are rendered to the page; all content appears in the Document Object Model (DOM). Several tools are available to allow programmers to manipulate the DOM, in particular tools and frameworks based on JavaScript. Placing 3D graphics in the DOM, allows these JavaScript tools to access and manipulate 3D graphics. Web3D and Fraunhofer IGD‘s recent efforts – X3DOM (www.x3dom.org), integrating X3D with HTML and the DOM, have proven this capability. X3dom's design goals are to have a live X3D scene in your HTML DOM, allowing you to manipulate the 3D content by only adding, removing, or changing DOM elements. No specific plugin or plugin interface (like the X3D-specific SAI) is needed. It also supports HTML events (like “onclick”) on 3D objects.[http://www.x3dom.org/?page_id=2429 X3dom Showcase]
+
[[image:x3dom.png|130px|X3dom]] [[image:dom.png|200px|dom 1]] [[image:x3dom-demo1.png|300px|X3dom 1]] [[image:x3dom-demo2.png|300px|X3dom 2]]
 +
 
 +
X3DOM uses three basic approaches to display an X3D scene inside an HTML page without a plug-in.  
 +
[http://web3d.org/x3d/wiki/index.php/Image:X3dom-fallback-2.pdf X3dom Fallback model]
  
X3DOM uses three basic approaches to display an X3D scene inside an HTML page without a plug-in.
 
 
*External reference: HTML page includes an object element tag that refers to an .x3d scene, implemented via an X3D plug-in. Data might be passed within the page using DOM events.  
 
*External reference: HTML page includes an object element tag that refers to an .x3d scene, implemented via an X3D plug-in. Data might be passed within the page using DOM events.  
 
*X3D as XML in HTML: HTML page directly includes X3D source, likely with an XML namespace prefix, presumably implemented via an X3D plug-in or the browser itself. Again data might be exchanged within the page using DOM events.  
 
*X3D as XML in HTML: HTML page directly includes X3D source, likely with an XML namespace prefix, presumably implemented via an X3D plug-in or the browser itself. Again data might be exchanged within the page using DOM events.  
 
*API access: HTML page includes some form of canvas (or maybe Canvas3D) element that allows programmatic access to the page, so that X3D Scene Access Interface (SAI) might draw a bitmap.
 
*API access: HTML page includes some form of canvas (or maybe Canvas3D) element that allows programmatic access to the page, so that X3D Scene Access Interface (SAI) might draw a bitmap.
 +
The X3DOM model provides an experimental environment to develop an integration model for declarative 3D in HTML and has triggered several discussions in the HTML and X3D communities, and is working to become a part of the HTML standard supported by every major browser.
 +
The recently formed “Declarative 3D” W3C Community Group is working to define requirements to integrate 3D with HTML and the DOM (Declarative 3D in HTML). Efforts include in-depth consideration of X3DOM as one possible exemplar solution. The Declarative 3D effort has strategic importance for Web3D and indeed for all 3D graphics, especially since X3D is already a portable interchange format for a wide variety of models and technical approaches. We intend to establish a solid foundation for X3D to properly support 3D graphics for the native Web page, which definitely includes enhancements for AR capabilities and experiences.
  
The X3dom model has provides an experiment environment to develop an integration model for declarative 3D in HTML5 and has triggered discussion in the HTML5 and X3D communites and finally a part of the HTML5 standard supported by every major browser natively
+
=='''X3D Augmented Reality  Applications'''==
+
'''X3dom AR''' efforts are experimenting on multiple new possibilities.  In addition to HTML–WebGL integration, the Flash version of AR Toolkit (FLART) layers an X3D scene on top of Flash viewport. [http://x3dom.org/x3dom/example/flar/x3dom_flar.html AR with X3dom and FlarToolkit]This provides a good platform for experimenting and implementing AR/MR functions as potential standards candidates. Users might also benefit more if the functions provided by FlarToolkit eventually become consolidated as standard in X3D, so that authors and tools might avoid needing to handle repetitive wiring between Flash and X3D.
The recently formed “Declarative 3D” W3C Community Group is working to define requirements to integrate 3D with HTML and the DOMEfforts include in-depth consideration of X3DOM as one possible exemplar solution. The Declarative 3D effort has strategic importance for Web3D and indeed for all 3D graphics, especially since X3D is already a portable interchange format for a wide variety of models and technical approaches. We intend to establish a solid foundation for X3D to properly support 3D graphics for the native Web page, which definitely includes enhancements for AR capabilities and experiences.
+
  
== '''Why X3D is a viable and proven standard platform for implementing AR/MR''' ==
+
''' InterAR Project: X3D on C++ AR Engine using Bitmanagement's BS Contact'''
  
The Web3D Consortium is a standardization group that has been producing and maintaining the X3D standard for ISO for more than 10 years. Today, the Web3D Consortium is utilizing its broad-based industry support to develop the X3D specification, for communicating 3D on the web, between applications and across distributed networks and web services. Through well-coordinated efforts with the ISO, OGC and W3C, the Web3D Consortium is maintaining and extending its standardization activities.
+
[[image:X3dom-AR.png|150px|X3D AR]]    [[image:InteraAR_BS_Contact_IOS.jpg|150px|IntraAR]]
  
=== Features already present in X3D ===
+
== '''X3D Adoption and Interoperability with other AR and Web Standards''' ==
 +
X3D is a royalty free open ISO standard. X3D is a step above Web3GL, OpenGL and DirectX in complexity, it is much easier to author.  X3D has adoption in many industries and markets with many implementations and converters. It unites numerous proven technologies together, providing a simple and coherent pipeline for authors to create 3D models and VR applications, without license fees or any danger that a company might drop support. [http://www.web3d.org/realtime-3d/videos See X3D Examples].
  
X3D is a mature standard with many examples, many players and many converters. Multiple implementations and extensions for AR have already been demonstrated in X3D. These efforts have been successful because X3D collects numerous proven technologies together in a workable way, providing a simple and coherent path for authors to create 3D models and VR applications. X3D’s extensibility provides the advantage to define component levels and profiles as extensions, allowing applications to avoid having to implement the entire specification. It has also been demonstrated that mobile X3D can fit well with HTML5 and DOM improvements. This all "plays well" when moving from simple mobile applications to bigger models and spaces.  
+
Our goal with X3D is to bring 3D graphics to the widest possible audience: the Web. Most Web authors are not necessarily trained in the art of 3D graphics programming, but are pretty skilled technically nonetheless. With the efforts to integrate X3D with HTML our goal is to make the authoring and use of XML-based X3D scenes as natural and well-supported for HTML authors as Scalable Vector Graphics (SVG) and Mathematical Markup Language (MathML) is today.  
  
Not only are X3D features numerous and selectable, they are also fully integrated in a consistent way so that tools and authors might easily use them.  For example:
+
[[image:X3DAdoption2010.png|300px|X3d Adoption]]      [[image:Std-Collaboration-2.png|300px|Std Orgs]]
*XML Integration enables simple X3D use with HTML, Web Services, etc.
+
*Distributed Networks accessibility
+
*Cross-platform, inter-application file and data transfer
+
*Componentized: allows lightweight core 3D runtime delivery engine
+
*Extensible: allows components to be added to extend functionality for vertical market applications and services
+
*Profiled: standardized sets of extensions to meet specific application needs
+
*Evolutionary: easy to update and preserve VRML97 content as X3D
+
*Broadcast/Embedded Application Ready: from mobile phones to supercomputers
+
*Real-Time: graphics are high quality, real-time, interactive, and include audio and video as well as 3D data.
+
*Well-Specified: makes it easier to build conformant, consistent and bug-free implementations
+
*3D graphics and programmable shaders - Polygonal geometry, parametric geometry, hierarchical transformations, lighting, materials, multi-pass/multi-stage texture mapping, pixel and vertex shaders, hardware acceleration
+
*2D graphics - Spatialized text; 2D vector graphics; 2D/3D compositing
+
*CAD data - Translation of CAD data to an open format for publishing and interactive media
+
*Animation - Timers and interpolators to drive continous animations; humanoid animation and morphing
+
*Spatialized audio and video - Audio-visual sources mapped onto geometry in the scene
+
*User interaction - Mouse-based picking and dragging; keyboard input
+
*Navigation - Cameras; user movement within the 3D scene; collision, proximity and visibility detection
+
*User-defined objects - Ability to extend built-in browser functionality by creating user-defined data types
+
*Scripting - Ability to dynamically change the scene via programming and scripting languages
+
*Networking - Ability to compose a single X3D scene out of assets located on a network; hyperlinking of objects to other scenes or assets located on the World Wide Web
+
*Physical simulation and real-time communication - Humanoid animation; geospatial datasets; integration with Distributed Interactive Simulation (DIS) protocols
+
  
Current Web3D Consortium AR working group activities are focused on harmonizing proven capabilities into best practices for AR and 3D graphics, implementable by multiple X3D viewers and usable by content authors. This Working Group is thinking in terms of the larger 2D + 3D space that authors and users want. We will harmonize lightweight AR components within an easily implementable X3D Mobile Profile. Heavyweight requirements for MR and CAVEs can be compatibly defined. X3D is becoming a viable and reliable standard for AR developers looking to save time when designing new AR applications.
+
For the past 10 years the Web3D Consortium is extending its standardization activities through formal collaboarative efforts with the ISO, OGC, and W3C standards organization. Several discussions at the Web3D Conference, SIGGRAPH, ISO-SC24 and OGC meeting about the recent developments in AR Standards continue to improve and refine our strategy on interoperability with other standards.  
  
=== New work: X3dom and Flash AR Toolkit ===
+
ISO Standards Committee (SC24) which administers X3D review as an International Standard has established a new Working Group for Augmented and Mixed Reality. The group proposes an AR content model as an extension of a virtual world with provisions for representing the physically-sensed objects. The [http://www.web3d.org ISO JTC1/SC24 report] by Dr. Gerry Kim summarizes the group's findings of the current state of the art in AR/MR and proposals on standardization AR/MR functionalities.
  
X3dom AR efforts are experimenting on multiple new possibilities. In addition to HTML5–WebGL integration, the Flash version of AR Toolkit (FLART) layers an X3D scene on top of Flash viewport. This provides a good platform for experimenting and implementing AR/MR functions as potential standards candidates. Users might also benefit more if the functions provided by FLARToolkit eventually become consolidated as standard in X3D, so that authors and tools might avoid needing to handle repetitive wiring between Flash and X3D.
+
Recent discussions at OGC's [http://www.opengeospatial.org/projects/groups/arml2.0swg ARML SWG] meeting mainly focused on geo-located point of interest's AR applications targeted for mobile platforms. This work will eventually result in an AR standard built on KML, an OGC standard. KML is an XML language for geographic visualization that also allows X3D to be embedded. Web3D and OGC have successfully worked together formally under a MOU agreement since 2006. Our common goal is to advance standards-based, interoperable web-enabled 3D geospatial content sharing, modeling and visualization. Our collaboration with OGC will continue to provide interoperability with OGC and X3D standards for AR capabilities too.
 +
As we achieve clarity on the larger strategy for AR, we plan to outreach and collaborate with all AR standards groups in establishing compatibility of X3D with other AR models.
  
== '''Interoperability with other AR and Web Standards''' ==
+
== '''How to come to Fruition - Invitation to Participation''' ==
 
+
Much work has been accomplished already towards integrating AR capabilities in X3D. Current efforts are focused on harmonization of AR options, lightweight deployability, heavyweight consistency, and interoperability with all Web standards. Now is the time for serious AR developers to consider these essential challenges. Numerous innovative AR activities are ongoing by many researchers, companies and study groups. Web3D is engaged is all these efforts. Coordination and collaboration between numerous developers and standards organizations is necessary for AR to eventually become a seamless part of the Web infrastructure.
Several discussions at the Web3D Conference, SIGGRAPH and ISO-SC24 meeting about the recent AR Standards developments continue to improve and refine our strategy on interoperability with other standards. Continued collaboration and reaching out to the ISO SC24, W3C Augmented Reality Community Group, newly formed OGC ARML WG, AR Standards group, KHRONOS and others is essential.  
+
   
 
+
Web3D Consortium membership is open to companies, government agencies, educational institutions, and individuals. All X3D Specification capabilities can be implemented on a royalty free basis. We look forward to further participation and collaboration by the AR community to achieve long-term success for AR content on the Web.
ISO Standards Committee (SC24) which administers X3D review as an International Standard has established a new Working Group for Augmented and Mixed Reality. The group proposes a AR content model as an extension of a virtual world with provisions for representing the physically-sensed objects.   
+
 
+
Current technical work includes harmonizing these proposals for best fitting AR capabilities into X3D scenes. This work will be formally written up as the Augmented Reality (AR) Component for the X3D Specification. Our common goal remains maximum interoperability with all AR and Web standards.
+
 
+
== Invitation to Participate ==
+
  
Much work has been accomplished already towards integrating AR capabilities in X3D. Current efforts are focused on harmonization of options, lightweight deployability, heavyweight consistency, and interoperability with all Web standards.
+
== Acknowledgement ==
  
Web3D Consortium membership is open to companies, government agencies, educational institutions, and individuals. All X3D Specification capabilities can be implemented on a royalty free basis. We look forward to further participation and collaboration by the AR community to achieve long-term success for AR content on the Web.
+
== References ==
 +
*http://www.perey.com/ARStandards/%5BWeb3d%5DAR_Roadmap_for_X3D.pdf

Latest revision as of 14:57, 18 July 2012

Augmented Reality (AR) Roadmap for X3D

Position paper for the Fourth International AR Standards Meeting

October 24-26, 2011, Basel, Switzerland

Anita Havele

Web3D Consortium, California, USA

Abstract

Augmented Reality (AR) and Mixed Reality (MR) operate across many display devices, ranging from small hand-held mobile phones to laptops, desktop, and full-blown walk-around CAVE spaces. There is always a combination of both 2D imagery and 3D graphics, plus a mix of the real world and virtual worlds. Numerous innovative AR activities are ongoing by many researchers, companies and study groups. Coordination and collaboration between numerous developers and standards organizations is likely necessary for AR to eventually become a seamless part of the Web infrastructure.

X3D is a mature standard with many implementations and many converters. Multiple implementations and extensions for AR have already been demonstrated in X3D. These efforts have been successful because X3D integrates numerous proven technologies, providing a simple and coherent way for authors to create 3D models and VR applications. X3D’s extensibility provides the ability to extend the standard with new profiles and components. X3D’s extensibility allows it to "play well" when moving from simple mobile applications to bigger models and spaces and integrate with the web environment of HTML, JavaScript, and DOM.

The future consumer demand for AR applications will go beyond the current use of geo-located points of interest. The Web3D Consortium is working on new paradigms to develop standards that address the larger 2D + 3D space for AR. Currently the Consortium is harmonizing proven capabilities into best practices for AR and 3D graphics, implementable by multiple X3D viewers, and usable by content authors. X3D, a reliable and viable standard, can save considerable time for developers looking to design new AR applications.

Motivation: Value of the X3D Standard for AR

Augmented Reality (AR) and Mixed Reality (MR) operate across many display devices, ranging from small hand-held mobile phones to tablets, laptops, desktops, and immersive CAVE spaces. There is always a combination of both 2D imagery, 3D graphics, the real world and virtual worlds. Many people are especially interested in lightweight AR that they can use as part of GPS-aware mobile devices. Extensible 3D graphics (X3D),a royalty free and ISO certified open standard developed by the Web3D Consortium (www.web3d.org) that originated from VRML, and now encoded in XML, already has capabilities to support AR and MR applications. X3D is a mature standard with many implementations and many converters. It unites numerous proven technologies together, providing a simple and coherent pipeline for authors to create 3D models and VR applications. See X3D Examples. X3D can save significant time for developers looking to design new AR applications. See X3D-AR using Instant Reality 3D Engine. Current X3D efforts include identification of critical lightweight components suitable for mobile devices and AR applications.

It is sometimes tempting to think of a mobile device as simply a rotatable 2D display situated within the 3D real world. However, 2D displays by themselves can be limiting and oversimplified. The X3D group is thinking in terms of the larger 2D + 3D space that many authors and users want. Demonstrations are also showing that X3D can fit well with HTML5 and DOM improvements. This all "plays well" when moving from simple mobile applications to bigger models and spaces. See Touchscreen interaction VR/AR.

Because there are multiple implementations and extensions for AR that have already been demonstrated for X3D, it is clear that we can build an AR component for X3D. It will have lightweight capabilities suitable for mobile devices, plus additional compatible capabilities that work with larger 3D scenes and spaces. We will take advantage of X3D extensibility to define component levels and profiles that capture these palettes as easily expanded extensions.

X3D Strategy for AR

Multiple experimental AR nodes have been proposed and implemented for X3D by Web3D Consortium members. A comprehensive list of AR nodes is being considered by the X3D AR Working Group and formally written up as the Augmented Reality (AR) component for the X3D Specification. Establishing common implementations and examples to demonstrate successful interoperability for the specification is of primary importance. Recent work in HTML/DOM, geospatial, and palettes for interactive scenes has led to a proposal for a new lightweight (Mobile) Profile for X3D. Heavyweight advanced capabilities for mixed reality, CAVEs etc. will be kept separate from Mobile but available in AR-related X3D components.

X3D Relation to Reality–Virtuality Continuum

The Reality–Virtuality Continuum is often used to describe the range of functionality involved. The goals for X3D capabilities are broad.

Error creating thumbnail: File missing
-

Extending X3D for AR/MR applications

Many capabilities are possible and relevant for adding AR/MR functionality to Web-based 3D graphics. The current challenge facing the X3D AR Working Group is deciding how to best merge and harmonize these capabilities consistently with the X3D Specification and X3D best practices.

The following list shows the functions and features under consideration for supporting AR and MR visualization in X3D:

  • Adding real world view
    • Access to live video (e.g. local camera on the user's portable device)
      • Live video stream as a texture on geometry within the X3D scene
      • Live video stream as a background of the X3D scene
  • Merging real and virtual images correctly
    • Access to calibration information of the camera device providing the video stream
    • Viewpoint nodes using calibration information to set projection parameters
    • Chroma keying of live video stream texture (rendering pixels in key color transparent)
    • Correct occlusion between real and virtual objects
      • Depth masking with virtual representation of physical object
      • Support for depth image and depth imaging devices
  • Tracking, registration and real-time interaction
    • Access to motion tracking information
    • Camera for registration between real and virtual spaces
    • Other physical objects for real-time interactivity

Example X3D-AR Scene

Error creating thumbnail: File missing
<Scene>
   <CameraSensor DEF=‘cam’/>
   <Background DEF=‘bg’/>
   <ROUTE fromNode=‘cam' fromField=‘image‘ toNode=‘bg' toField=‘image'/>
   <MatrixViewpoint cameraSensor=‘cam’/> 
   <Transform translation="0 0 40">
      <Shape>
         <Appearance>
             <Material diffuseColor=‘0 0.5 1'/>
         </Appearance>
         <Sphere radius="40"/>
      </Shape>
    </Transform>
</Scene>

Continued collaboration and reaching out to the ISO-SC24 Working Group, W3C Augmented Reality Community Group, newly formed OGC ARML Working Group, KHRONOS, and the AR Standards Group is crucial. The common goal for Web3D Consortium remains maximum interoperability with all AR and Web standards. The Web3D Consortium's liaisons to these groups communicate with each other regularly to ensure X3D will be complementary and not redundant to other standards.

Why X3D is a viable and proven standard platform for implementing AR/MR

The Web3D Consortium is a standardization group that has been producing and maintaining the X3D standard for ISO for more than 10 years.

Architecture and Features of X3D

X3D has been developed to meet a specific set of market and technical requirements. To meet these requirements, X3D adopts the following design objectives:

  • Separate the runtime architecture from the data encoding
  • Support a variety of encoding formats, including the Extensible Markup Language (XML)
  • Add new graphical, behavioral and interactive objects
  • Provide alternative application programmer interfaces (APIs) into the 3D scene
  • Define subsets of the specification ("Profiles") that meet different market needs
  • Allow for the specification to be implemented at varying levels of service
  • Eliminate, where possible, unspecified or underspecified behaviors

X3D Features

Not only are X3D features numerous and selectable, they are also fully integrated in a consistent way so that tools and authors might easily use them. For example:

  • XML Integration enables simple X3D use with HTML, Web Services, etc.
  • Distributed Networks accessibility
  • Cross-platform, inter-application file and data transfer
  • Componentized: allows lightweight core 3D runtime delivery engine
  • Extensible: allows components to be added to extend functionality for vertical market applications and services
  • Profiled: standardized sets of extensions to meet specific application needs
  • Evolutionary: easy to update and preserve VRML97 content as X3D
  • Broadcast/Embedded Application Ready: from mobile phones to supercomputers
  • Real-Time: graphics are high quality, real-time, interactive, and include audio and video as well as 3D data.
  • Well-Specified: makes it easier to build conformant, consistent and bug-free implementations

X3D Support

  • 3D graphics and programmable shaders - Polygonal geometry, parametric geometry, hierarchical transformations, lighting, materials, multi-pass/multi-stage texture mapping, pixel and vertex shaders, hardware acceleration
  • 2D graphics - Spatialized text; 2D vector graphics; 2D/3D compositing
  • CAD data - Translation of CAD data to an open format for publishing and interactive media
  • Animation - Timers and interpolators to drive continous animations; humanoid animation and morphing
  • Spatialized audio and video - Audio-visual sources mapped onto geometry in the scene
  • User interaction - Mouse-based picking and dragging; keyboard input
  • Navigation - Cameras; user movement within the 3D scene; collision, proximity and visibility detection
  • User-defined objects - Ability to extend built-in browser functionality by creating user-defined data types
  • Scripting - Ability to dynamically change the scene via programming and scripting languages
  • Networking - Ability to compose a single X3D scene out of assets located on a network; hyperlinking of objects to other scenes or assets located on the World Wide Web
  • Physical simulation and real-time communication - Humanoid animation; geospatial datasets; integration with Distributed Interactive Simulation (DIS) protocols

X3D's layered Components and Profiles

The modular architecture of X3D allows for layered "profiles" that can provide increased functionality for immersive environments and enhanced interactivity or focused data interchange formats for vertical market applications within a small downloadable footprint. This footprint is composed of modular blocks of functionality ("Components"), that can be easily understood and implemented by application and content developers. Components can be individually extended or modified through adding new "levels", or new components can be added to introduce new features, such as streaming. Through this mechanism, advancements of the specification can move quickly because development in one area doesn't slow the specification as a whole. Importantly, the conformance requirements for a particular piece of content are unambiguously defined by indicating the profiles, components and levels required by that content.

  • Interchange is the basic profile for communicating between applications. It supports geometry, texturing, basic lighting, and animation. There is no run time model for rendering, making it very easy to use and integrate into any application.
  • Interactive profile enables basic interaction with a 3D environment by adding various sensor nodes for user navigation and interaction (e.g., PlaneSensor, TouchSensor, etc.), enhanced timing, and additional lighting (Spotlight, PointLight).
  • Immersive profile enables full 3D graphics and interaction, including audio support, collision, fog, and scripting.
  • Full profile includes all defined nodes including NURBS, H-Anim and GeoSpatial components.
Error creating thumbnail: File missing
Error creating thumbnail: File missing

The X in X3D stands for Extensible. X3D is highly modular in order to allow both authors and implementers to choose the palette of capability they might need for a given application area. This flexibility is a major virtue which lets the 3D content declare how much implementation support is needed.

                8 Profiles                    for common use cases    X3D Profiles
               
            35 X3D Components                 for modular design      X3D Components
      
       Two Hundred Eighteen X3D Nodes         for every little thing! X3D Nodes

For comparison purposes, 68 nodes are in the X3D Interactive profile which is lightweight and already runs on mobile devices. Approximately 10 new nodes are being considered for AR, of which only a portion are suitable for mobile. This is an area of active work: minimizing software footprint while maximizing user capability. See Modular X3D.

X3D Lightweight/Mobile profile

Recent work in HTML5/DOM, geospatial GpsSensor, and palettes for interactive scenes has lead to a proposition of a new lightweight (Mobile) Profile for X3D. A lightweight profile is valuable for author creation of simple but dramatic content. This approach allows a small-footprint and efficient operation of X3D on mobile devices, easy export from other formats, and a simple vocabulary for new authors.

This extension, optimization, and refinement process can unlock carefully chosen X3D capabilities for important new areas:

  • Mobile applications
  • Lightweight HTML5 web pages
  • Augmented Reality (AR)

Heavyweight advanced capabilities for mixed reality, CAVEs etc. are defined and kept separate from lightweight/Mobile profile but available in the other AR-related X3D components.

Integrating X3D into HTML (X3dom)

The traditional way to embed a X3D augmented reality scene into a webpage uses a plug-in that needs to be installed by the user. The plug-in approach has always been an issue for web developers and users. Several efforts have been initiated by Web3D on how to integrate X3D with HTML. Our goal is to bring 3D to Web developers by fully integrating 3D content into HTML documents. Today Web pages exist as large collections of hierarchical elements that are rendered to the page; all content appears in the Document Object Model (DOM). Several tools are available to allow programmers to manipulate the DOM, in particular tools and frameworks based on JavaScript. Placing 3D graphics in the DOM allows these JavaScript tools to access and manipulate 3D graphics. Web3D and Fraunhofer IGD‘s recent efforts – X3dom, integrating X3D with HTML and the DOM, have proven this capability. X3DOM's design goals are to have a live X3D scene in your HTML DOM, allowing you to manipulate the 3D content by only adding, removing, or changing DOM elements. No specific plugin or plugin interface (like the X3D-specific SAI) is needed. It also supports HTML events (like “onclick”) on 3D objects. See X3dom Showcase.

X3dom
Error creating thumbnail: File missing
Error creating thumbnail: File missing
Error creating thumbnail: File missing

X3DOM uses three basic approaches to display an X3D scene inside an HTML page without a plug-in. X3dom Fallback model

  • External reference: HTML page includes an object element tag that refers to an .x3d scene, implemented via an X3D plug-in. Data might be passed within the page using DOM events.
  • X3D as XML in HTML: HTML page directly includes X3D source, likely with an XML namespace prefix, presumably implemented via an X3D plug-in or the browser itself. Again data might be exchanged within the page using DOM events.
  • API access: HTML page includes some form of canvas (or maybe Canvas3D) element that allows programmatic access to the page, so that X3D Scene Access Interface (SAI) might draw a bitmap.

The X3DOM model provides an experimental environment to develop an integration model for declarative 3D in HTML and has triggered several discussions in the HTML and X3D communities, and is working to become a part of the HTML standard supported by every major browser. The recently formed “Declarative 3D” W3C Community Group is working to define requirements to integrate 3D with HTML and the DOM (Declarative 3D in HTML). Efforts include in-depth consideration of X3DOM as one possible exemplar solution. The Declarative 3D effort has strategic importance for Web3D and indeed for all 3D graphics, especially since X3D is already a portable interchange format for a wide variety of models and technical approaches. We intend to establish a solid foundation for X3D to properly support 3D graphics for the native Web page, which definitely includes enhancements for AR capabilities and experiences.

X3D Augmented Reality Applications

X3dom AR efforts are experimenting on multiple new possibilities. In addition to HTML–WebGL integration, the Flash version of AR Toolkit (FLART) layers an X3D scene on top of Flash viewport. AR with X3dom and FlarToolkit. This provides a good platform for experimenting and implementing AR/MR functions as potential standards candidates. Users might also benefit more if the functions provided by FlarToolkit eventually become consolidated as standard in X3D, so that authors and tools might avoid needing to handle repetitive wiring between Flash and X3D.

InterAR Project: X3D on C++ AR Engine using Bitmanagement's BS Contact

Error creating thumbnail: File missing
Error creating thumbnail: File missing

X3D Adoption and Interoperability with other AR and Web Standards

X3D is a royalty free open ISO standard. X3D is a step above Web3GL, OpenGL and DirectX in complexity, it is much easier to author. X3D has adoption in many industries and markets with many implementations and converters. It unites numerous proven technologies together, providing a simple and coherent pipeline for authors to create 3D models and VR applications, without license fees or any danger that a company might drop support. See X3D Examples.

Our goal with X3D is to bring 3D graphics to the widest possible audience: the Web. Most Web authors are not necessarily trained in the art of 3D graphics programming, but are pretty skilled technically nonetheless. With the efforts to integrate X3D with HTML our goal is to make the authoring and use of XML-based X3D scenes as natural and well-supported for HTML authors as Scalable Vector Graphics (SVG) and Mathematical Markup Language (MathML) is today.

Error creating thumbnail: File missing
Error creating thumbnail: File missing

For the past 10 years the Web3D Consortium is extending its standardization activities through formal collaboarative efforts with the ISO, OGC, and W3C standards organization. Several discussions at the Web3D Conference, SIGGRAPH, ISO-SC24 and OGC meeting about the recent developments in AR Standards continue to improve and refine our strategy on interoperability with other standards.

ISO Standards Committee (SC24) which administers X3D review as an International Standard has established a new Working Group for Augmented and Mixed Reality. The group proposes an AR content model as an extension of a virtual world with provisions for representing the physically-sensed objects. The ISO JTC1/SC24 report by Dr. Gerry Kim summarizes the group's findings of the current state of the art in AR/MR and proposals on standardization AR/MR functionalities.

Recent discussions at OGC's ARML SWG meeting mainly focused on geo-located point of interest's AR applications targeted for mobile platforms. This work will eventually result in an AR standard built on KML, an OGC standard. KML is an XML language for geographic visualization that also allows X3D to be embedded. Web3D and OGC have successfully worked together formally under a MOU agreement since 2006. Our common goal is to advance standards-based, interoperable web-enabled 3D geospatial content sharing, modeling and visualization. Our collaboration with OGC will continue to provide interoperability with OGC and X3D standards for AR capabilities too. As we achieve clarity on the larger strategy for AR, we plan to outreach and collaborate with all AR standards groups in establishing compatibility of X3D with other AR models.

How to come to Fruition - Invitation to Participation

Much work has been accomplished already towards integrating AR capabilities in X3D. Current efforts are focused on harmonization of AR options, lightweight deployability, heavyweight consistency, and interoperability with all Web standards. Now is the time for serious AR developers to consider these essential challenges. Numerous innovative AR activities are ongoing by many researchers, companies and study groups. Web3D is engaged is all these efforts. Coordination and collaboration between numerous developers and standards organizations is necessary for AR to eventually become a seamless part of the Web infrastructure.

Web3D Consortium membership is open to companies, government agencies, educational institutions, and individuals. All X3D Specification capabilities can be implemented on a royalty free basis. We look forward to further participation and collaboration by the AR community to achieve long-term success for AR content on the Web.

Acknowledgement

References