[WF-Protocols] Discussion on Open Model Format
Miguel Guzmán
miguelg at tid.es
Tue Jul 1 16:56:13 PDT 2003
Killemov wrote:
> A binary (IFF-style?) format should be the primary one. An XML-version
> should be used for debugging and tweaking purposes. Most tools only
> need to implement the binary format and there should be a converter to
> and from XML. (Binary <-> XML.)
So, this IFF format is one of those chunk-based, separated by
headers, binary files that everyone on IRC was talking about :) I didn't
know anything about it until today, but here it is quite well explained:
http://netghost.narod.ru/gff/graphics/summary/iff.htm
Seems really interesting and quite useful for the efficient binary
format, though I agree with Jorrit in starting with an XML format.
> The standard can only be published in a document. But it should be
> supported with a reference implementation.
Agreed. I myself can make converters to and from Cal3D and Ogre, and
wouldn't mind tryng to make converter / loaders for other engines.
> An IFF-style format allows for different levels of self-containment.
> The simplest file could exist of bare geometry (3 X,Y,Z sets for each
> triangle) with no color, texturemapping, material, skeleton and
> animation data. And the most complex file could exist of different
> types of geometry (Triangle, NURBS, ...),
The issue of about different geometry is whether they are used
outside 3D editors, for what I have seen most 3D engines use always
triangles (vertex+normals). Should we take into account different
geometry definitions?
Ogre has, for each SubMesh, a GeometryData element, which I wonder
could be different depending on the type of geometry, or it's just for
the sake of not including the geometry data on each submesh if shared
vertices for the mesh are used.
SubMesh: http://ogre.sourceforge.net/nightly/docs/classOgre_1_1SubMesh.html
GeometryData:
http://ogre.sourceforge.net/nightly/docs/structOgre_1_1GeometryData.html
> sub-objects, several layers of texturemapping, animated materials
> (even including vertex/pixel shaders), animation, morphing, ... with
> all resources included in the file. (Take a look at Newtek's Lightwave
> 'lwo format as a starting reference.)
The several layers of texturemapping and the shaders could perhaps
go in the material definition (each submesh being assigned a material).
In a general sense, IMHO the more stuff we include in the file(s) the
better (needs not to be only one, we can always have one file for a
mesh, another for a material, etc.) Do we all agree on this?
BTW, couldn't find the lwo format specification on a quick google
search. Anyone has an URL handy? I'll be adding all those URLs to the
Open Model Format page.
> I found the current definition of a 'SubMesh' to be somewhat unclear.
> The first impression is that a sub-object is implied (grouped by
> geometry). But actually it is the collection of geometry that share
> the same material. (grouped by material)
It should be material based. However, if we want to do a
geometry-based division (for instance to swap parts of a model), perhaps
we could use the "1 model -> N meshes" approach.
Aglanor
More information about the Protocols
mailing list