CompuServe Thread

3D Exchange Standard

21 messages in this thread
#11117From: SyndesisMay 1, 1995 9:55 AM
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.
#11123From: Sam J. BowlingMay 1, 1995 1:41 PM
Great Reply, John. You really made me think about how good this would actually be. If there ever was a standard file format it would have to be updated constantly. Every time a company created a new effect like bones. Also with bones there are several ways it is implemented in each program. Which would be used for the standard? Also, regarding the article in CGW, if each company only worked on new things instead of what others already do you would have to buy just about every program that comes out to get all the tools. Until I read your reply I only thought about the positive things about this, but there are numerous negative things too. I do think that the dxf format should be replaced with one more suited for animation programs like 3ds or any of the others out there. -Sam J. Bowling
#11183From: SyndesisMay 2, 1995 8:22 AM
Thanks for studying what I wrote! Another important point that I didn't have a chance to explain… Very few companies document their file format. Formats like Strata, Infini-D, Visual Reality, etc. are proprietary. If they did document their file formats, then there would be aghost of chance that companies like mine would be able to develop translation tools. (Strata will document their format soon, actually.) As you pointed out, DXF has plenty of limitations. I agree, you'd think that a few very simple ASCII-based formats for the exchange of geometry or motions would solve at least *some* of the problems.
#11212From: Sam J. BowlingMay 2, 1995 3:33 PM
>> As you pointed out, DXF has plenty of limitations. << My biggest problem is that when I load a DXF into Imagine it can take up to 10 minutes, but when I change it to Imagines format it takes only seconds. It is time for a change from the old DXF, but I don't see a file format that will cover _all_ the possibilities of the various 3D programs in the near future if ever. -Sam J. Bowling
#11227From: SyndesisMay 2, 1995 5:00 PM
Yes, DXF is slow to parse: it's ASCII, and each and every point requires converting several lines of numbers. Almost any 3D program needs to perform some tedious post-processing of the points and faces, too.
#11568From: David SattarMay 7, 1995 3:25 AM
<<…My biggest problem is that when I load a DXF into Imagine it can take up to 10 minutes, but when I change it to Imagines format it takes only seconds….>> My biggest problem is with the file size that results from DXF. Taking an informal sample of half a dozen Mac and PC modellers I find that when you save a file from the application's native format into the DXF format, it grows by around 8-10 times. As an example of why this happens, consider a simple cube. Most modellers have tools to create cubes/rectangular boxes and they're defined as the base cordinates, plus offset to the far side. Or each of the 8 corners is defined along with the planes that make up the sides. There are lots of ways to efficiently describe a cube. However, when the cube is written out as a DXF, each face is defined independently, so the corner points, which are shared where 3 planes come together are duplicated three times. Unfortunately, since the 'cube' isn't really as cube anymore, it's just a collection of flat planes that happen to be positioned to look like a cube, saving the freshly imported cube doesn't reduce the file size. I find that 3D DXF is useful as a basis for reconstructing imported objects, kind of like 3D tracing, but it's impractical to use the raw imported DXF's in the model. >> David <<
#11271From: Tim Wilson [Crestline]May 3, 1995 5:59 AM
>> You really made me think about how good this would actually be. If there ever was a standard file format it would have to be updated constantly. Every time a company created a new effect like bones. Also with bones there are several ways it is implemented in each program. Which would be used for the standard? Also, regarding the article in CGW, if each company only worked on new things instead of what others already do you would have to buy just about every program that comes out to get all the tools. Until I read your reply I only thought about the positive things about this, but there are numerous negative things too. I do think that the dxf format should be replaced with one more suited for animation programs like 3ds or any of the others out there.<< Sam, I remember you brought this subject up some time ago, and it looks now as though the idea of a 3D standard is gaining more momentum. I understand your concerns. I think John might be focusing a little too much on the current difficulties in translations, many of which could be addressed in a good standard. A 3D standard does not have to be all-encompassing to be effective for the vast majority of 3D users, nor does it have to limit the _internal_ complexity or sophistication of a 3D program. Yes, a standard will likely mean some loss in functionality when going from one program to another. Certain program-specific features may be lost for the time being like algorithmic textures, bones, etc. But the meat and potatoes should be maintained. And over time, standards can be upgraded to gradually increase the scope of properties that are handled. But in my view, it is possible to design standards that would maintain an exceptable level of integrity for most 3D users. Adoption of a standard does not mean a developer has to make any compromises. It simply means that they agree to _also_ make it possible for their program to output files which have a modest level of compatibility with other 3D applications. I don't think this is asking too much of developers, but it may take some significant prodding from users. Furthermore, standards can be developed that are both backward and forward compatible, so 3D programs wouldn't have to be continually updated just because the standard is.
#11310From: SyndesisMay 3, 1995 10:01 PM
As for "loss of functionality," a day or two ago I had a rude customer ask about InterChange's conversion methodology, and when I explained that we didn't translate UV coordinates at this time, they said "So what good is it?" In my first posting, I gave specific examples of difficult questions for any proposed 3D file format standard: smoothing, triangle versus polygons, etc. In this posting, you made general statements about how a standard might be firm yet flexible, backwards- and forwards compatible, useful and not limiting. If you want to get specific, I'm all ears, and I'm willing to jump on details. 🙂 A good question to ask yourself along the way is "How is this better than DXF?" I've sometimes thought that the easiest path to a 3D file format standard might be to usurp parts of DXF. It already allows user-defined data in several ways. All you need to do is define and promote the use of new extended data that might store surface info like colors, smoothing, and better object names. Since most companies have DXF in/out already, it would be relatively easy for them to add small amounts of code to handle this new extension, and it would buy a great deal in terms of info exchange.
#11320From: Sam J. BowlingMay 3, 1995 10:30 PM
Ok, Tim. So to sum it up it would be a much more powerfull replacement for DXF right? -Sam J. Bowling
#11378From: David HofmannMay 4, 1995 3:34 PM
>> I think John might be focusing a little too much on the current >> difficulties in translations, many of which could be addressed in a >> good standard. Well what is this new standard for if not for data exchange which means converting. Since all the available 3D programs handle the object data different (more or lass) it wouldn't be much of use if this universal standard would support all kinds of features and options. The data probably just won't be available for the program that is trying to read it since it just don't have this kind of data in it's own format or handles it different. Looking closer at this there are only very few things left that are common in most (not all!) programs: points, triangles (polys) groups (layers), hierarchy, and maybe color (not attribs), light & camera position. High end programs almost exclusivly work with splines so a polygon standard would be only for the low/mid end market. just my thoughts… -David
#11463From: Alan BoucekMay 5, 1995 6:40 PM
>>High end programs almost exclusivly work with splines so a polygon standard would be only for the low/mid end market.<< Do you consider Wavefront and Softimage to be low/mid end? Both have a polygonal model as their primary format (with splines added later). Alias has just *added* extensive support for polys because the gamers need it. nevertheless, an interchange format *must* support nurbs, as openInventor does.
#11939From: David HofmannMay 12, 1995 11:17 AM
>> Do you consider Wavefront and Softimage to be low/mid end? Yes absolutely low end! 🙂 Seriously, trianlges have their advantages in some cases and sometimes it's important to have control over them. In realtime games the number of trinalges must be optimized. -David
#12003From: Alan BoucekMay 13, 1995 4:38 PM
Real time games and models used for creative work and development work are two different things. For development work, highest res/quality is always desired- whether for 3d, video or print. Once the creative work is done, an appropriate delivery medium is necessary. With Alias, part of the translation process from Nurbs to polys allows you to visually, as well as numericly reduce the number of polys (it's a slider). Nurbs are great for modeling, but problematic for some animation, and not particularly useful for gaming.
#11522From: Scott KildallMay 6, 1995 1:59 PM
Hmm… sidethought on your observation on new feature requiring change to the format… I believe QuickDraw 3D's file format allows for custom data structures… if a program can support it it will read it, but if not, then it should just ignore it, is what my memory is. jd
#11538From: Sam J. BowlingMay 6, 1995 5:22 PM
>> if a program can support it it will read it, but if not, then it should just ignore it, is what my memory is. << That sounds pretty good, unless the parts that it can't read make the scene/object worthless. This also would not change the fact that other programs will still have to support the same features as the other program. There are so many pro's and con's about this whole thing it's giving me a headache.<g> -Sam J. Bowling
#11641From: Tim Wilson [Crestline]May 8, 1995 4:32 AM
>> There are so many pro's and con's about this whole thing it's giving me a headache.<< Moi aussi. (me too) -Tim
#11272From: Tim Wilson [Crestline]May 3, 1995 5:59 AM
John, Well, I thought you'd have some ideas on this subject, but gee whiz! <g>… I think it's going to take me a couple days to go through all this stuff. -Tim
#11279From: SyndesisMay 3, 1995 11:59 AM
Just imagine a roomful of the developers of all your favorite 3D programs… do they have strong opinions about The Way Things Should Be Done? 🙂
#11569From: David SattarMay 7, 1995 3:25 AM
Hi John, I read your msg and was wondering if you support the Alias Sketch for Macs file format yet ? I exchanged e-mail with someone from Syndesis about a year ago and was told that you may support Alias Sketch in the future. Any progress on that ? >> David Sattar <<
#11613From: SyndesisMay 7, 1995 8:00 PM
If we do, it'll be in the form of Alias StyleGuide file format. We've been considering exporting it for some time. I can't say for certain when it will become part of the product. We've had very few requests for it. We do have a preliminary exporter for it, which means we'd write StyleGuide format.
#11726From: David SattarMay 9, 1995 2:10 AM
<<…If we do, it'll be in the form of Alias StyleGuide file format. We've been considering exporting it for some time. I can't say for certain when it will become part of the product. We've had very few requests for it. We do have a preliminary exporter for it, which means we'd write StyleGuide format….>> All that sounds great John, except the lack of requests 🙁 I sometimes feel like I'm the only modeller working with Alias Sketch on a Mac. While something that could write a Styleguide file from say 3DS, Zoom, Architrion and AutoCad r12 (the apps currently used by my colleagues) would be a very good step, it'd be nearly as useful for me to be able to write back from Styleguide to 3DS, Zoom etc. If you need a beta tester for the exporter, I'd be delighted to help out… >> David <<