Fork me on GitHub

1.0 Release

25.03.2010 Release

First stable release of the framework.

All initially planned features are implemented:

  • HTML / XHTML Support
  • Monitoring of DOM element add/remove and attribute change
  • JS-Scenegraph synchronizer
  • ROUTEs
  • DEF/USE support
  • External Subtree (via X3D Inline)
  • Image (Texture), Movie (Texture) and Sound (Emitter) support
  • Navigation: Examine
  • WebGL Render backend

The proposed HTML profile is partially implemented:

Nodes and Components

The fallback-model is also only partially implemented:

x3dom fallback model

Next release (v1.1) will focus on the following topics:

  • WebSG (Web Scene-graph, minimal GLSL-shader based profile)
  • CSS updates
  • Bindable stack and camera animation
  • Navigation: Walk, Fly and Examine
  • More Lights/Light-Types

First AR tutorial


The ever growing interest in Augmented Reality (AR) application makes it an important scenario for a generic web-based 3D framework. However, there is a main problem. Web-Browsers (UA) /HTML does not provide any API to read the pixels of your attached video-camera.

Until now there were only two generic options to overcome this problem: Utilizing a specific AR-plugin (fast, but with all plugin issues) or Flash-based. Flash is also a plugin but installed on more than 90% of all UA and can read the pixels directly.
AR demo with Flash/X3DOM

But pure Flash-based AR-solutions have one major drawback. Flash has no API to access the GPU directly for 3D rendering. Therefore all 3D-render  libs are limited (e.g. polygon-count and shading feature) compared to some hardware accelerated solutions (e.g. WebGL).

We use in this tutorial and Demo a Flash-based tracker (which processes all camera-pixels) and create the 3D-overlay with X3DOM. The result is quite impressive. Really fast AR-apps, without any plugin (besides Flash) and a very simple production pipeline.

Support for explicit GLSL/ComposedShader added

23.03.2010 Uncategorized

The X3D Profile (not just WebSG) supports now explicit GLSL shaders utilizing the X3D Shaders component. The example uses multiple textures (diffuse, normal and env) and generic VertexAttribute containers to feed the render backend.
GLSL/ComposedShader example

Support for the X3D Shaders component allows mixing shader-based materials with declarative mesh content.

Final node updates for first release

17.03.2010 Uncategorized

A bunch of new X3D nodes like LOD, Switch, PointSet, IndexedTriangleSet and ComposedShader as well as new functionality like the sky-box background and a more complete DOM-event handling have been implemented for the first release.

A dynamically generated list of all X3D nodes and components can be found here. If you are interested in the node interface or full specification just click on the respective node or component.

Improved picking demo online


To improve performance and precision, picking (i.e. the onclick event) now uses a render-buffer-based approach (as shown in the screenshot below) instead of a scene traversal with standard bbox-based intersect tests.

Picking buffer (see top left of image) and real scene. After a click the small ball is repositioned to the last pick position (see examples page).

Picking buffer (see top left of image) and real scene. After a click the small ball is repositioned to the last pick position (see examples page).

3dsMax exporter for x3dom

09.03.2010 Uncategorized

The InstantReality X3D exporter for 3dsMax can now directly export to HTML/XHTML. Daily beta builds are now available for Windows XP, Windows Vista and Windows 7 32 and 64 Bit. The package contains versions for Max 2008, 2009 and 2010.

Bugs should be reported in the instantReality forum:

First application prototype tutorial online


First application prototype tutorial online. A very simple car configurator, which shows how to change the color or texture of a 3d model with simple HTML/JavaScript setAttribute calls. More examples will come very soon.

Car configurator

First content creation tutorial online


First tutorial which shows how to get your data converted to X3Dom is online. More will come the next days.