3D APIs: They’re Not Just Software – They’re An Attitude

(This column first appeared in the October 24, 1995 issue of PC Graphics Report)

In researching some of the material for each PC Graphics Report, in particular the growing breed of 3-D software, I’ve been discovering that most mainstream application and  utility companies still feel that a homebrew 3-D rendering library is preferable to commercially available ones.

One particularly poignant quote I received was from Mark Walton at 3D/EYE, when I asked him what their new package, TriSpectives (see FYI item a few pages back) uses for  rendering: “We use our own renderer called SmartRender. The issue with the commercially available engines is one of image quality — they’re so tuned towards games that they use ‘shortcuts’ to keep performance up. The exception is OpenGL which requires hardware acceleration for any interactivity at all and is not currently supported on Windows 95.”

Further, according to Mark, “SmartRender provides the best of both worlds by dynamically managing the balance between image quality and interactivity – it senses a rapid motion and automatically drops the image quality to keep the image interactive. Then it uses multiple threads to increase quality in the background. It has many other  advantages: selective ray tracing (it only ray traces reflective and refractive objects so it’s really fast); it has fast soft shadows; pixel shading and anti-aliasing are also really fast. We wanted to provide true WYSIWYG for 3D — that means you always work on the high quality image as opposed to seeing it in a ‘preview’ window like most 3DR,  Renderware implementations (we liken it to Word for Windows as opposed to WordPerfect 5 with that preview window).”

Mark closed by stating that SmartRender notwithstanding, his company was committed to supporting “true standards” as they appear, assuming they provide a superior solution.

Now, we can certainly see his point – the 3-D API market, for all that it has a large number of competitors offering a wide range of features, is still a rather immature market. Part of the immaturity is related to a nasty Catch-22 cycle. There’s a lack of real 3-D API standardization because not enough software uses available 3-D APIs, and not enough software uses 3-D APIs because of a lack of real 3-D API standardization.

It doesn’t help that the only real free 3-D API standard, OpenGL, is painful to use (both from developers’ and users’ perspectives), and gives people the wrong impression about what’s really possible on a PC with minimal hardware assistance (“OpenGL” currently gets translated “slow unless you spend lots of money on expensive graphics hardware”). It also doesn’t help that the other purportedly free 3-D API, RealityLab, still hasn’t shipped even a Beta since Microsoft took it over.

On top of that, while the other players in the 3-D API market have working and shipping product, they seem to have a varying commitment to providing the best possible throughput. Case in point: Intel and its much unpublicized 3DR. Intel will not be shipping a DDK for 3DR, focusing instead on using whatever APIs Microsoft releases, such as  DCI, DirectDraw, and Direct3D, which means that applications will ultimately have to deal with throughput limited by whatever Direct3D finally becomes when it’s released. At least one of the other API vendors has been making similar noises.

Speaking of Intel and 3DR, I finally managed to track down an official response on the future of 3DR. In the last month, Intel’s Architecture Labs (IAL) shipped their quarterly CD-ROM, containing 3DR v2.1. Intel remains strongly committed to 3DR, and in fact has open hiring reqs for that group. They also have an interesting Web page (see http://www.intel.com), where updates will be posted as they become available. Currently, 3DR sits on top of DCI under Windows 3.1, and uses WinG equivalents under Windows 95 and Windows NT. Once DCI, DirectDraw, and/or Direct3D are available, Intel will update 3DR to support those interfaces for better performance. With 3DR (and possibly other APIs) ultimately slated to sit on top of 3DR, the relative benefit of using these APIs over RealityLab, which is supposedly a superset of Direct3D, becomes questionable. Of course, a hardware abstraction layer unification is a boon to hardware developers, as it means that they need to spend less since they don’t need to support a multitude of display driver interfaces.

So, what does this all mean? Basically, don’t hold your breath for a plethora of mainstream 3-D hardware acceleration enabled PC software applications and utilities. Perhaps once RealityLab formally ships this will change, but not likely before then.

And Now For Something Completely Different…
A couple of weeks ago, in my quest for interesting news tidbits, I stumbled across an item from Japan. Sega has apparently unveiled a Web Browser add-on for Sega game consoles that allows users to access the World Wide Web, and will be available early next year, retailing for less than 30,000 yen (around $300).

My personal belief is that distributed computing is the future (see my column about software licensing from the summer), and I find something like Sega’s $300 add-on (for a total system cost of around $450-600) really exciting, and scary, both at the same time.

It’s exciting because it put the Internet into hands of every consumer, and makes it THE new communications medium of the decade (plus it forces people into greater literacy, among other things). Also, this type of product could force rapid price decreases in comparable PC technology, making PCs more affordable for the masses.

The whole situation is also scary for the same reasons. Sharply decreased PC prices (and margins) can have a devastating effect on the entire market, and in terms of the masses being on-line, I predict sheer written chaos on the Net.

Nonetheless, I think it’s great that the requirements for a given type of system CPU become less important, and having portable software gains in significance. Adding Sun’s Java specification, which allows for portable Internet applications to be downloaded and executed on people’s systems, you end up with true application portability. Then, instead of only marketing to 50 million users, software companies can conceivably market their products to billions. Staggering.