XML3D 5.2 Released

After a bit of a delay version 5.2 of XML3D was released today!

The main focus of this release was on adding Web Component support. Web Components are a relatively new web technology that lets you define your own custom HTML elements based on a template and a JavaScript prototype. For example, you could define a <xml3d-teapot> element that simply draws a teapot, or something more complex like a <xml3d-boundingbox> element that draws the bounding box of any other XML3D element. Check out both of these examples in our XML3D Examples repository.

We think Web Components are a powerful new way to create and share your own objects, tools or features between XML3D scenes. For a better idea of what steps are involved in creating your own component we’ve added a page in our GitHub wiki that re-creates the <xml3d-boundingbox> component step by step.

Besides that we’ve added support for CSS transitions to the transform property. This makes it possible to use libraries like jQuery Transit to animate the CSS transforms of your XML3D elements. We’ve added a small demo of this to our examples repository.

Lastly, materials can now change certain WebGL states during rendering. This isn’t part of the XML3D specification, since it’s very specific to the WebGL implementation, but we feel it’s a very useful feature to better control how your objects are rendered. Using this you can, for example, disable depth testing for certain materials, or change the blending mode on a per-object basis. You can find an example of this in our examples repository and a wiki page detailing what WebGL states can be changed.

As always, the above changes are detailed in the updated 5.2 specification.

That’s all for now!