Version 0.7 Features

XSeen version 0.7 development continues. The release looks to be in July. To date there are five major additions either completed or nearing completion. This post will discuss three of them

  1. Asset management for (separately) materials and geometry
  2. Loading of external XSeen files in XML format
  3. Transparent XSeen background to the web page

The first item was inspired by A-Frame’s a-asset tag and X3D’s DEF/USE attributes. This allows the reuse of materials (including textures and other image-based appearances) and geometry within a scene. This simplifies the construction of a scene and reduces the memory use. It is used by a prototype X3D to XSeen converter for National Institutes of Health 3D Print Exchange site. The models are available in X3D’s XML encoding. These models make heavy use of DEF/USE for the coloring and geometry of the ball and stick models. This capability was expanded to fully support XSeen’s material and geometry capabilities.

To facilitate loading of 3D Print Exchange models, the src attribute was added to x-seen tag. This causes XSeen to retrieve and load the external XML file as if it were originally included in the code. Since the contents of the external file are directly loaded into the DOM, it is the developer’s responsibility to ensure that the merged node structure works in XSeen and HTML. The image associated with this post is a screen shot of a converted 3D Print Exchange model that was externally loaded into XSeen.

The last feature allows XSeen to use a transparent background. Any webpage backgrounds that are present will be visible behind all of the objects. It does not make sense to use this with a x-background tag and skycolor attribute; however, interesting effects can be achieved with transparent image backgrounds. The use of this feature requires extra resources and once defined (either on or off) cannot be changed.

Current work is available on the development branch at GitHub.

 

Leave a comment

Your email address will not be published. Required fields are marked *