X3D and HTML5 Summary

From Web3D.org
Revision as of 15:49, 6 October 2009 by Brutzman (Talk | contribs)

Jump to: navigation, search
  • Family of X3D Specifications;
    • X3D Abstract Specification describes basic functionality
    • XML, ClassicVRML, and Compressed Binary Encoding
    • Application Programming Interfaces (APIs) Ecmascript (Javascript) and Java


  • Relationships between scene graphs, APIs and render layers;
    • Scene graphs are high-level declarative models about how geometry is constructed, colored and animated; these can be expressed as an XML tree
    • APIs are mid-level libraries for programmers to create imperative source code about geometry and animation (various proprietary codebases, O3D, perhaps WebGL)
    • Render layers are low-level software libraries that expose the functionality of graphics hardware (e.g. OpenGL, DirectX)


  • Similarities between MathML, SVG, and X3D;
    • MathML describes mathematical expressions and then renders a presentation of them
    • Scalable Vector Graphics (SVG) describes and presents renderings of 2D shapes, with optional animation and interaction
    • Extensible 3D (X3D) describes and presents renderings of 3D shapes, with optional animation and interaction
    • All three languages have well-developed XML encodings
    • Authors want to use these languages for multimedia content in HTML pages


  • X3D scene graph APIs
    • X3D Scene Access Interface (SAI) provides a consistent standardized API
    • X3D SAI has Ecmascript and Java bindings, other programming languages can be added
    • X3D SAI is functionally equivalent and has same expressive power as file formats
    • Document Object Model (DOM) is also legal (X3D is XML after all) but infrequently used because of low performance


  • Simple X3D example and HTML5 examples; (how current integration looks like via object model then to html5)
    • X3D scene as external reference (Anchor link)
    • X3D as embedded object;
    • HTML5 with embedded x3d as mixed namespaces;
    • Template for demo = html5+x3d event passing connections.


  • Recommendations for html5 specification.