6.04.2005

XML and 3D Applications

Lately I have seen the importance of XML in applications other than the .NET framework and RSS feeds. At Omation XML is utilized to represent assets, so they can be updated and changed easily. Most importantly it is used to manage assets on a production level as well as a scene level.

Helge Mathee wrote an article about the importance of XML on XSIBlog, so I won't bore you with any details here. Also, he did a much better job explaining it that I might have.

Anyways, I think it would be great for 3D applications to jump on the XML bandwagon and start producing importers and exporters in XML. Even though a lot of software packages have importers and exporters for different types of ASCII formats, it would be amazing for the companies to come together to produce a standard for 3D representation of data in XML, much like the RSS standard came about. Since each there are many different XML handlers in just about any language you want, it would be easy for the software companies to integrate this solution into their already existing codebase.

For years VRML has been around. In it's original form it was formatted with brackets and curly braces:

Transform {
translation 3.0 0.0 1.0
children [
Shape {
geometry Sphere {
radius 2.3
}
appearance Appearance {
material Material {
diffuseColor 1.0 0.0 0.0
}
}
}
]
}

but now there has been a conversion to using XML:

<Transform translation='3.0 0.0 1.0'>
<Shape>
<Sphere radius='2.3'/>
<Appearance>
<Material diffuseColor='1.0 0.0 0.0'/>
</Appearance>
</Shape>
</Transform>

So now, there does not even need to be a standard for representation of 3D objects, only a need for application specific instructions to be stored as well. For all it matters, this can be decided by each company and shared with the others. I think at that point, the number of custom exporters needed will drop significantly.

These examples were taken xsi.com's article on 3D meeting XML.