[ODE] XML Formats

Justin Couch justin at vlc.com.au
Tue Feb 6 14:24:50 MST 2007

Dave Grundgeiger wrote:

> The reason I asked about XML for rigid body physics (and more generally 
> for all aspects of virtual world design) is that in every field I've 
> ever worked in, data exchange among platforms has become something that 
> users want solved. Today, simulation engines are islands. This will 
> change. 

Heh. That's what HLA is supposed to be for :) Yeah, we've got feet in 
that pie too.

The big problem with that is every sim engine needs and wants different 
properties. Geometry is simple because it is completely unambiguous 
(until you get to defining implicit and spline-based surfaces...).

> I believe that ODE will need to work with industry-standard XML that's 
> being produced/consumed by other tools. Can anyone tell me if anyone has 
> been working on this for ODE? Would I step on anyone's toes if I began 
> to tinker with it?

I'm not aware of it. There is a little bit of effort around defining ODE 
structures as XML called XODE IIRC).

>> X3D has very different goals to Collada. X3D is designed around long
>> term data storage and data interchange. There is also a large amount of
>> interactivity stored. Collada is designed around the needs of static
>> geometry import.
> What kinds of tools were the authors of each spec trying to support? 

In the X3D case, "everything". For collada, they want to support the 
game production pipeline which typically starts with Maya or 3DS and 
ends in the game authoring tools (world builders). As such,  the goals 
are very different.

As an example of X3D's requirements, we have a CAD interchange profile 
that is designed to meet the needs of the CAD DCC community. They want 
to export the basic model structure from CAD tools, bring those into a 
Maya-like tool or MS Word and end up with a product brochure out the end 
of it. In the medical interchange profile, we start with hospital-grade 
medical imaging machines and want to end up on a user's PC (part of the 
Informed Consent process). So we end up with with lots of different 
market verticals being supported, with the goals of each being 
different, but based around a common format.

> Does it make sense for ODE to be able to consume both X3D and Collada?

Being biased, it would be great if it could. However, as I said before, 
you really want to limit exactly how much of X3D you intend to support. 
There's no need to handle the volume rendering component, for example. 
If you limit it to the basic Interchange profile combined with the rigid 
body physics component, that should be sufficient. Any higher than that 
and code complexity goes up several orders of magnitude.

> Why would one want that in the XML rather than in a version control system?

There's some advantages at the tool level of being able to run back and 
forth between the models very quickly. At least in the original design 
(from memory), they wanted the format to be the version control system.

> Is there an easy way to explain to me what you mean by a "runtime model" 
> in an XML spec?

Well XML is just a document format - a way of formating some text. What 
that text describes is inconsequential to XML. The semantic 
interpretation of that text is up to the document author. Or, put 
another way, someone design a document structure and states that tag X 
means Y. In the X3D case, many of those elements define behavioural 
properties - when seeing this input from that other element, make that 
output. In the pure text case (eg XHTML) all it describes is a way of 
formatting text. But, if you have a dynamic spec, such as SVG, you can 
say "loop this text along that path over a period of 30 seconds".

Justin Couch                         http://www.vlc.com.au/~justin/
Java Architect & Bit Twiddler              http://www.yumetech.com/
3D Java Graphics Information                    http://www.j3d.org/
"Look through the lens, and the light breaks down into many lights.
  Turn it or move it, and a new set of arrangements appears... is it
  a single light or many lights, lights that one must know how to
  distinguish, recognise and appreciate? Is it one light with many
  frames or one frame for many lights?"      -Subcomandante Marcos

More information about the ODE mailing list