3D Exchange Standard
01-May-95 09:55:48
Sb: #11005-3D Exchange Standard
Fm: Syndesis 76004,1763
To: Tim Wilson [Crestline] 76432,1122
Tim tipped me off to the existence of this thread, so I'll jump in with both
feet! My company makes InterChange, a program that translates between more
than thirty 3D file formats, so I've got a special perspective on this topic.
I'll start with a comparison. Consider all the bitmap image file formats.
Bitmap data is more simple in structure than 3D data. I can describe what's
stored in image file formats in just a few sentences! Yet there are dozens of
image file formats in use today. Serious image processing programs must handle
a dozen of them, and I know of more than a dozen companies that specialize in
making file filters. Why so many image formats? Some are merely historically
popular, some are more popular on one platform than another, some serve special
purposes like JPEG and FAX.
There's no real standard in the 2D structured drawing market, either. CGM,
Windows metafile, Adobe Illustrator, Freehand, Corel, and a dozen other
presentation graphics programs are all distinct formats, and clip art companies
are forced to support more than one.
3D data is more complex than bitmap data. Even with a minor subset like basic
geometry, it's tough to find common ground between today's most popular 3D
programs. (For the moment, let's put aside splines and patches, motions,
bones, cameras, lighting, hierarchies, particles, etc.) Some use only
triangles, others allow polygons with an indefinite number of sides, others
allow "point" and "line" polygons with just one or two sides.
Then there's surface attributes. Again, there is little common ground once you
get past basic RGB color, specularity, etc. For example, smoothing is handled
differently in every package I've examined. Some rely on underlying geometry
like shared points and edges to define smoothing, others have smoothing groups,
others have explicit or implicit shading angles, others allow more control.
Tim, I'm sure you encountered these differences when porting your humanoids
from program to program.
A standard is as likely to offend as please. If the standard includes concepts
that aren't possible in a program, I'll bet the designers will decide not to
support the file format, because it makes their program look inferior. A file
format often reflects the design decisions of the programmer. If a file format
reflects different design decisions than those in a program, it's been my
experience that the programmer and the CEO of that company are less likely to
consider supporting that format. This is true for proposed "standards" as well
as any other file format.
For example, you mentioned the support for DXF in Animation Master. It's very
difficult for them to import any polygonal format, much less the most difficult
yet most popular polygonal format, because their models are naturally built
from splines and patches, not polygons. Do you think they'll support a
polygonal standard? Similarly, not a day goes by when a customer doesn't beg
for a polygonal program to support spline patches. If the standard includes
spline patches, will purely polygonal programs want to support it?
A standard file format must reflect a least common denominator. In that sense,
the much-maligned DXF format meets this criteria. It's so basic it doesn't
even include surface color info. (Also, the latest R13 DXF includes encrypted,
un-documented CSG geometry.)
A standard must be easy to implement. I recommend that the promoters of the
new standard should hand out portable ANSI C source code for importing and
exporting the file format.
On this "easy to handle" criteria, DXF is an awful format. It is very
difficult to read properly, which leads to the incompatibilities we've all
seen. It is a CAD format that's been pressed into service to represent
polygons.
Even if the code for parsing the file is available, you must remember that
companies must support it in the expanded sense of the word. They'll need to
deal with incompatibility problems when customers share files with everyone
else's implementation of the standard. They'll need to write additional code to
insure that the data they read or write conforms to the standard. In the
future, they'll need to preserve compatibility with it where possible. All
this means extra effort, above and beyond what they're doing now. Just because
the new standard exists, doesn't mean that the demand for DXF support will
diminish soon.
Believe it or not, I've even heard from some CEOs who balk at supporting any
other file format. They regard their 3D program as the best, and they regard
support for other company's formats as "aid to the enemy." They regard
universal file formats as a way to make it easy for customers to flee their 3D
program and purchase other 3D programs.
It doesn't surprise me that commercial modeling companies most frequently
complain about the multiple standards. They're the ones most often affected by
this. On the other hand, this is the business you've chosen. Tim, you're
worried about three file formats? We support more than thirty file formats in
InterChange. 🙂
There is no shortage of proposed standards. Viewpoint DataLabs once announced
their plans to define and promote the "VIP" standard file format, but no one
has ever seen it. Silicon Graphics is promoting the Open Inventor file format
as a standard, and a subset of Inventor is VRML, which is the top contender for
a 3D file format standard for the World Wide Web. Apple proposed QuickDraw
3D's metafile as an exchange format, except the PC version is expected to
arrive six to nine months after the release on the Power PC Macs later this
summer. (There are no plans for a 680×0 Mac version, BTW.)
I'll also play devil's advocate for a moment. "No wonder he's not optimistic
about a 3D standard," you might think, "he's in the business of writing
translators."
Actually, we take a neutral position, in the same way we don't promote any
particular 3D program as the "best." We'll support any proposed 3D standard in
InterChange. For example, we worked very hard to be part of the roll-out for
Apple's QuickDraw 3D.