Development news: ClipPlane, CHM docs, optimizations and more

September 18, 2010
JarJar animation, made in X3D by Stephen H. France
RenderedTexture.rendering and ClipPlane demo: the teapot is sliced in half when rendering to the texture
A lot of work happened last month, as I'm sure SVN statistics confirm :) Some highlights:
  1. VRML/X3D features implemented:

    • ClipPlane node is handled.
    • ColorRGBA node is handled. Also related VRML 1.0 Material-per-vertex/face is now much faster.
    • RenderedTexture.rendering, viewing, projection output events are implemented.
    • TimeSensor.enabled, cycleTime are now handled correctly.
    • Toggler node (simple event utility) from InstantReality is handled.
  2. Stephen H. France prepared X3D specification including Kambi extensions and KambiScript reference in the CHM format. The CHM format makes them easy to browse and search. Thanks!

  3. Primitives: more nodes (boxes, spheres, cones, cylinders) are now processed by converting them to IndexedFaceSet or similar low-level geometry. (This is called the "proxy mechanism" in sources.) And the whole mechanism is now much more efficient, so e.g. Extrusion, Teapot, NURBS curves and surfaces are processed now faster.

    The immediate gain from it is that Box, Cone, Cylinder, Sphere get the "texCoord" field. In particular they can use our bump mapping features, they work with multi-texturing and 3D textures fully correctly, and they can be shadow map receivers (although this last thing still needs a little work).

  4. Events: the code responsible for changing the VRML/X3D graph (in particular, through the events) got a few refreshments. Some events work better or faster now (e.g. RenderedTexture.dimensions and depthMap can be changed through events.)

    A couple of large optimizations for Transform animation were implemented.

As always, you can test the new features before the next release by trying our nightly builds.