One 3D Format to Rule Them All
prostoalex writes "Three-dimensional graphics for the Web always seemed like a great concept that's not there yet. Five years ago many publications saw a great future in 3D-Web, but somehow things just haven't been moving in that direction. Apparently, the status quo is not making companies in this field happy and so the big guys, including Intel, Macromedia, AutoDesk, EDS et al. formed a 3D CAD working group. They claim that 'the need for a common 3D format becomes clear in a simple perusal of the Web, where the volume of 3D content is minuscule -- well under 1 percent.' The article is published in the latest issue of Intel Developer Update magazine, which is also available as a PDF."
So what happened to VRML?
Most of the three dimensional editors that I use suck in some way. I don't hold it against them, it's a tricky thing to do. But I'd love to be able to generate my own 3-D files from a script - so that I could generate many variations, for example - which is something most editors don't let you do. An open file format would be a great boon to those of us doing 3-D CAD work, as we could get into writing some of our own tools with a minimum of effort.
It's not wasting time, I'm educating myself.
And I should know, because I do a lot of work producing it. It is by no means a lonely field, but there are relatively few people who do it.
;)
Why put anything on the web? It's relatively cheap compared to printing flyers or magazines or novels, and there is really no parallel for instantly delivering interactive media (I've done dozens of web-based games, 3D and 2D using all of the technologies you've heard of and I'm sure several you haven't). But really, why?
You see, 3D is complicated. I've regularly had to participate in hiring of modelers and artists capable of collaborating producing good, efficient 3D art on a deadline, and real skill in this field is still rare. I know the tools, and I've watched them work, and I see why. It takes a unique blend of manual dexterity, artistic ability, spatial skills, math, and geekdom - especially the last, because you have to be a geek to keep up with the tools and the issues, which are heinous. That law about the more special-purpose and expensive a piece of software is, the worse it is, applies to 3D tools in spades. There are so many bizarre little problems.
Last but not least, most of the widely used 3D authoring systems are, or have historically been, very very expensive - $5,000 - $10,000 - $25,000 is not an unusual amount to spend just on software. There are cheaper tools, but remember, you have to interoperate with web middleware, and pretty much everything just imports from 3D Studio Max. And then, what's your presentation platform? VRML (ech)? Shockwave 8.5 (~$1,000)? There are others... my point is that most of these cost money too. Pre-rendering to Flash is the cheapest and actually very attractive, but then you don't get anything in real time and it's really just a clever trick for making a canned animation.
The net result is that there are very few hobbyists producing 3D for the web - games or anything else. And then we have companies. So why would companies want to produce 3D content when they get almost as much oomph with good 2D technology (or just plain graphics) without the significant costs, and endless technology headaches? That's because even with the best middleware, you might see 10-25% of your users have some kind of 3D hardware/software related problem... old video drivers bunging up D3D which bunges up whatever your middleware is, weird budget 3D cards, software mode, etc... Most businesses just want to spend the least amount of money to reach the largest possible audience. And that was true before the drive to produce any kind of non-ecommerce-related commercial web content at all pretty much dried up.
There are still a few people left who we haven't eliminated who, for whatever reason, it makes sense to produce 3D for the web. Product demos, promotional games, and the rest. Believe me, competing for their business is far from easy.
Don't get me wrong; I welcome better tools and better standards. There might be a niche for simple object inspection or static environment presentation ala a not-totally-braindead-VRML. But it's really not a big deal at all. Most of the real issues to do with web 3D are on the OS side of the equation - uniformity of hardware, APIs, cross-platform issues, etc. IOW just "Stability" and "Reliability." It's really, really hard to deliver 3D content to a wide PC audience even without the massive additional headaches of the web. At the end of the day, I think web 3D will come into its own when we collectively find it easy to author 3D the way we author text-and-graphics websites now - in other words, maybe never. Until then, it will remain a specialized niche which is (these days) reasonably well served by the existing toolmakers and not really susceptible to wide-ranging standards due to the divergent needs of the participants.
Want to Know How to Cheat the GPL? Read On!
There's plenty of need:
-discrete manufacturing partners could share parts, assemblies and full products via the internet. Ideally you'd search for a bolt via a google like search engine and it'd pull up a 3d representation of the bolts available. You could rotate it etc to see if it'll fit into your product.
-web sales would benefit immensely. You can already pull up 3d representation of the car you'd like to buy (via flash?) on some auto manufacturers sites. I've got to imagine that took quite a bit of work that wasn't directly derived from the engineer's models. With a standard format, I've got to imagine it'd be somewhat simple (or at least reusable) to have a web interface to add options which change the model. Web sales will not overtake brick and mortar until the user can at least spin a product in 3d to get a feel for it, not to mention build to order.
-repair and support could be placed on the web. The article states how the armed forces could have repair manuals available via web with all the parts, etc. Same for auto repair. At least they're getting away from printed repair docs, but I believe most still come in proprietary format via CD monthly or quarterly for big bucks. Doubt the ma & pa repair shops can afford it.
X3D is definitely a solution looking for a problem. The Web3D crowd basically killed VRML by announcing their "new, improved, XML-based solution", used by nobody, supported by nobody, and with very little active work. If you get their SDK disks, it's mostly old VRML stuff and old Java3D stuff. This was sad, because it happened just about when hardware got good enough to do VRML properly. VRML over broadband with a current-generation OpenGL board works quite well.
I haven't looked much at HOOPS, but it's a reasonable idea. IGES, the old FORTRAN-based interchange format (80 column lines, no less) is a bit dated.
The most infuriating thing is that fundamentally, they aren't that different from each other.
That's right. Their biggest difference is who's the publisher of the application. And it's also the reason why they're not very compatible with each other. Same thing in word processing: WordPerfect didn't have a filter to export to the latest Word format, now it's the other way around.
My field is Mechanical Engineering, and it has the same problem with CAD software. Each major player (Dassault, PTC, Autodesk, etc.) doesn't want you to be able to change your design application easily by having filters to export to other apps. And there are some "esperanto" formats, namely STEP and IGES.
The problems with these standard formats seems twofold. First, nobody ever tried to actually implement them completely. So an IGES file produced with CATIA might (or might not) be importable from Pro/E. So if it doesn't open, you're screwed, unless you can find some other format (or chain of formats) to go from program A to program B. Second, these standards are, in fact, not so standard themselves. There are a couple of ways to do most things in each of them, so a complete implementation would be monstruous. And I think there are some areas just left to the implementor.
Another thing to note is that even if you can get to the 3D geometry, it doesn't mean it will be modifiable. Of course you'll be able to add a hole or stuff like that, but if you say "Oh, this feature is not exactly what I want anymore, I need to modify this radius", you won't have access to the original feature because those two formats replace those higher level features by low level features (think at the level of lines and splines). Frankly, I'm not sure if they have indeed been intended for continuing design between applications, rather than just having access to the 3D geometry for further processing (think 5-axis milling).
But the thing is, it can be a desired feature of the format! That way, you can give away the final model, and not worry about possible modifications to it. Of course, it's not intended to allow you to change design application, just as 3DSMAX and Lightwave don't allow you to change easily...
Second, these standards are, in fact, not so standard themselves.
.prt and .asm files. To this end, the STEP formats focus on mathematical correctness over raw efficiency, which is partly the cause for the their large file sizes.
Even though IGES is a standard, your complaint about it is common, where the standard is too ambiguous and is never implemented fully or even correctly.
STEP is also a standard (ISO-10303) which strives to deal with ambiguity, but it is monstrous, as you said. STEP is a collection of many standards (well over 100), with a subset of those being application-specific schemas suitable for CAD data interchange. The most popular of these is AP203, which is actaully what Pro/E's "STEP" export mostly is (I believe Pro/E does AP214, also). No vendor-provided CAD translator supports all of AP203, but the CAD companies have reached a rough consensus on the subset of functionality supported. This means it can be used to transfer model geometery between CAD systems. Unfortunately, AP203 does not support finer-grained details like parameterized solid features, so there most likely will be information lost in transferring a complex model. Other formats, such as AP224, can capture solid features, but AP224 support is not nearly as wide-spread as AP203 and is mainly used in niche processes.
Another thing to note is that even if you can get to the 3D geometry, it doesn't mean it will be modifiable.
STEP is designed for data interchange and really isn't designed to be a "live" format like the native Pro/E
I'm not sure if they have indeed been intended for continuing design between applications, rather than just having access to the 3D geometry for further processing (think 5-axis milling).
Passing data down a work flow is very much one of the goals of STEP. The real design work is done in a system like Pro/E, then the STEP file can be sent to others for proofing and, finally, manufacturing. In general, the STEP file is a result of the design work, instead of being a part of an on-going design process.
You've probably guessed by now that I have worked with STEP. One thing I have learned is that a ubiquitous 3-D format for the WWW will be a terribly difficult undertaking. STEP has done a reasonable job of capturing the concepts of 3D modelling, but only after 30 or so documents to define the fundamental constructs, another two or three for the file format, and another few dozen documents to capture the requirements for specific problem domains. This is literally thousands of pages of specification.
I wish the Web3D people the best of luck.
Healthcare article at Kuro5hin