Difference between revisions of "X3D and HTML5 Summary"

From Web3D.org
Jump to: navigation, search
m (links for WebGL and O3D)
m (OpenGL] and DirectX links)
Line 25: Line 25:
 
** Scene graphs are high-level declarative models about how geometry is constructed, colored and animated; these can be expressed as an XML tree
 
** 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, perhaps [http://en.wikipedia.org/wiki/WebGL WebGL] or [http://code.google.com/apis/o3d O3D])
 
** APIs are mid-level libraries for programmers to create imperative source code about geometry and animation (various proprietary codebases, perhaps [http://en.wikipedia.org/wiki/WebGL WebGL] or [http://code.google.com/apis/o3d O3D])
** Render layers are low-level software libraries that expose the functionality of graphics hardware (e.g. OpenGL, DirectX)
+
** Render layers are low-level software libraries that expose the functionality of graphics hardware (e.g. [http://www.opengl.org OpenGL] and [http://en.wikipedia.org/wiki/DirectX DirectX])
 
** Numerous other 3D technologies exist at each of the other layers
 
** Numerous other 3D technologies exist at each of the other layers
 
** The X3D Specifications include both declarative models and strongly typed APIs
 
** The X3D Specifications include both declarative models and strongly typed APIs

Revision as of 16:26, 13 October 2009

Status: these are draft slides for the X3D and HTML5 effort that will be provided to the Technical Plenary Week (TPAC) 2009.

  • Family of X3D Specifications;
    • X3D Abstract Specification describes basic functionality
    • Three file formats are available: XML (.x3d), ClassicVRML (x3dv), and Compressed Binary Encoding (.x3db)
    • High-performance Application Programming Interfaces (APIs) are defined for 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, perhaps WebGL or O3D)
    • Render layers are low-level software libraries that expose the functionality of graphics hardware (e.g. OpenGL and DirectX)
    • Numerous other 3D technologies exist at each of the other layers
    • The X3D Specifications include both declarative models and strongly typed APIs


  • 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 are formally specified and 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 high-performance 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 and HTML5 examples
    • X3D scene as external reference (Anchor link)
    • X3D embedded in object tag
    • HTML5 with embedded X3D as mixed-namespace document
    • Forthcoming InstantReality X3DOM javascript demo: html5+x3d with event passing connections
    • (Can we structure our non-scripted examples to correspond to MathML and SVG examples?)
    • (We likely need multiple examples corresponding to DOM/SAI approaches)


  • Recommendation actions for HTML5 Recommendation
    • Ensure proper X3D references in HTML5 specifications - what happened?
    • Document correct integration and best practices for X3D and HTML5
    • Other questions we have:
      • What about XHTML?
      • Any other recommendations or work issues?