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!
The new resource system also comes with a way to set custom HTTP headers for requests through our new onRequest interface. This can be useful if your models are password protected and require an Auth header, for example. Using the same interface you can also disable document caching for certain requests, change their priority or even cancel them altogether. This makes it much easier to control how your scene is loaded by XML3D.
Finally, you can now use the CSS z-index property to change the rendering order of objects in the scene regardless of how they’re positioned. We’ve created an example of the z-index property in action and as always the details can be found in our updated specification document.
With 5.0 also comes a brand new specification slash API document that will be kept up to date from now on. Besides describing the API and structure of XML3D it contains many examples, notes and descriptions of the concepts that XML3D uses, such as the generic data model (Xflow) and CSS integration.
The 5.0 version of XML3D is not backwards compatible, meaning your existing scenes will need to be adapted to work with 5.0. We tried to ease the migration for you and created a migration script for Node.js that automates most of this as well as a list of breaking changes in our Github wiki.
As always the change log for this release can be found in our Github repository. The compiled scripts are already up at xml3d.org/xml3d/scripts and the xml3d-examples repository has been updated as well. New 5.0 versions of the Blender exporter and assimp2xml3d will be released in the coming days. The standard camera controller (tools/camera.js) has also been overhauled to be a little more useful and up to date.
That’s all for now!
- XML3D and eHealth, (Halle 9, F43)
We show how a serious game developed based on XML3D technology can help to understand diseases and in the design of rehabilitation programs.
- XML3DRepo, (Halle 9, E13)
We show London’s Kings Cross station in the browser as part of a system to store and deliver versioned 3D data.
We are looking forward to see you at the booths!
- In context of the VERVE project, where we will show a serious game 3D web application for patients that suffer from Parkinson. This application was developed in close collaboration with the Trinity College Dublin.
- As part of the FIcontent project, where XML3D is one of the base technologies
Meet us in the exhibition hall to chat about XML3D and Declarative3D in the web!