The Revolution in 3-D Graphics Hardware

(This article first appeared in the July/August 1996 issue of Desktop Engineering Magazine, and is reprinted here with their permission)

Recent and upcoming developments in 3-D graphics should ensure that most engineers will soon be looking into personal workstations – and liking what they see.

The personal workstation phenomenon we’ve been hearing about recently is fueled by a revolution occurring in graphics display acceleration. Those of us who have followed trends in PC graphics have watched the transition over the last decade from simple, unaccelerated graphics devices (e.g., EGA or VGA) to blazingly fast 2-D accelerators. New superchips are showing up from such companies as ATI, Matrox, Number Nine, and S3, among others.

Windows NT, combined with high-speed Pentium and Pentium Pro CPUs, has brought serious graphics to the PC. And while they still fall short of the power of full-blown UNIX number-crunchers, PC workstations are quickly growing in strength. And, they are, in a word, cheaper.

The latest trend in graphics chips is to add 3-D functionality. According to some analysts, more than 30 different new 3-D chips will hit the market in the next 12 months, many from start-up companies, the rest from established 2D chip makers. Intel predicts that by the end of 1997 every new computer sold will include some form of 3-D graphics hardware acceleration.

Software for 3-D
While the technology for PC 3-D graphics hardware has been around for many years (Matrox had a serious PC 3-D graphics board in the late 1980s), such products didn’t take off  because they were expensive – in the $6,000+ range – and had little software support. The software support issue was the more serious factor in hindering the acceptance of  3-D PC hardware. Early 3-D boards came with specialized utilities for viewing 3-D vector files, as well as 3-D display-enabled drivers or add-one for DOS versions of AutoCAD,  but little else. Since AutoCAD was not really 3-D display-enabled, the result was frequently a kludgey, difficult-to-use interface.

Then, about two years ago (interestingly, more or less about the time Doom was released) several companies started heavily promoting 3-D graphics APIs (application programming interfaces) and software rendering libraries. Doom, it seems, was a significant catalyst in a new craze in 3-D PC graphics, even though it wasn’t even a true 3-D  program.

At the same time, the PC 2-D graphics hardware market had more or less topped out in user-perceivable performance gains and resolution, and graphics hardware vendors were looking for new growth areas. They found them in multimedia, particularly multimedia’s digital video aspect, and in 3-D graphics.

OpenGL Meets Windows NT
About a year ago, Microsoft started shipping OpenGL with Windows NT, and it became the final catalyst needed to bring 3-D graphics acceleration to the engineering PC desktop. OpenGL is a 3-D graphics API developed by Silicon Graphics and a consortium of other players in the graphics market, and it is intended to be an open, portable version of the IrisGL API that SGI developed for its Iris workstations years ago.

In the three or four years it has been out, OpenGL has become the de facto 3D graphics API standard on all popular high-end computing platforms. (This is in spite of the fact that, according to some, it falls short in portability because many of its features depend on items unique to SGI hardware.) What this means in terms of software is that virtually all workstation graphics applications are based on OpenGL these days, regardless of the platform or operating system.

Microsoft’s release of Windows NT with OpenGL, combined with high-speed single- and multiprocessor Pentium systems, has given workstation application developers a way to port their applications to lower-cost machines. This is attractive to software developers because if workstation costs drop, software sales volumes should go up and in turn  increase demand. Similarly, developers of high-end PC graphics applications, such as CAD and modeling products, can now discard custom 3-D driver interfaces and run their products on top of OpenGL under Windows NT.

Of course, the number of machines running Windows NT is a drop in the bucket compared to those running Windows 95. But Microsoft now offers OpenGL for that popular  platform as well. This means that supporters of PC-based OpenGL applications have a potential market opening up that dwarfs the entire workstation market. No surprise then that a number of developers of both workstation applications and high-end PC applications have ported their software to Windows NT and 95 on top of OpenGL. And the  numbers are growing weekly.

OpenGL and 3-D Hardware
The Windows NT implementation of OpenGL provided the software support that PC 3-D graphics hardware needed. Microsoft provided a low-level driver mechanism, 3D-DDI (3D Device Driver Interface), in Windows NT 3.51 for those 3-D hardware companies wanting to provide end users with a noticeable boost in 3-D rendering performance. For companies wanting to show even faster 3-D graphics, there is a type of driver called an OpenGL Client, which abstracts much of the OpenGL functionality in such a way that hardware with similar characteristics to SGI’s workstation graphics hardware can significantly accelerate OpenGL rendering.

Only a handful of hardware companies have implemented OpenGL Clients for their graphics devices, most notably AccelGraphics. The rest have implemented 3D-DDI support. The main reason is that 3D-DDI drivers are easier to develop than OpenGL Clients. Doing an OpenGL Client also requires the developer to pay Silicon Graphics a significant licensing fee, while 3D-DDI has no such requirement. Some companies also report not seeing a significant performance improvement with an OpenGL Client compared to  3D-DDI.

The companies that have developed one or both of these drivers include 3Dlabs, AccelGraphics, Artist Graphics, Evans & Sutherland, Intergraph, Matrox, and Oki. Of these, only 3Dlabs sells its chips to others; the board- level OEMs of 3Dlabs’ SX-300 include Diamond/SPEA, ELSA, Fujitsu, and Omnicomp.

3-D Hardware: The Next Generation
Perhaps because many engineering application packages cost thousands of dollars, many companies targeting Windows NT and OpenGL with their graphics hardware appear to be charging quite a bit for their products; average prices run around $2,000 for a loaded OpenGL accelerator board.

Still, that’s just one end of the PC 3-D hardware spectrum, the other end being the consumer and commodity 3-D hardware markets, which today barely exist.

Again, the reason for this is a lack of software support. However, by the time you read this, more than a dozen different new sub-$300 PC 3-D graphics boards will ship, all just for making 3-D games look better and run faster. The games that take advantage of these boards do not use OpenGL; they don’t need the visual accuracy OpenGL provides nor the additional performance overhead OpenGL incurs as a result. Instead, they use a blend of hardware-specific libraries and game-oriented 3-D graphics APls such as Argonaut’s BRender, Criterion’s RenderWare, Apple’s Quickdraw 3-D RAVE, or the up-and-coming Microsoft Direct3D API. (Yes, Microsoft is not limiting itself to OpenGL; it has evolved 3D-DDI and combined it with RealityLab, the 3-D graphics API and library it owns as a result of purchasing RenderMorphics last year.)

Of all 3-D APls, the one that stands to truly open the PC market to 3-D acceleration at all levels is Direct3D. While initial comments from game developers about Direct3D’s performance have not been flattering, every 3-D graphics hardware company is rushing to complete Direct3D drivers, because Direct3D is something that Microsoft has decreed to be the future of PC 3-D. Where this helps engineering applications is that Microsoft has publicly stated that a new version of Windows-based OpenGL is forthcoming. The new version will sit on top of Direct3D instead of 3D-DDI, thereby enabling any 3-D graphics board that has a Direct3D driver to become an OpenGL accelerator as well. The OpenGL Client acceleration model will still be available to companies wanting to further improve OpenGL performance.

In short, if you need OpenGL acceleration on Windows platforms today, it’ll probably cost you a lot more than if you can wait 6 to 12 months.

Support and Performance
Now that you’ve learned that you might be able to run MicroStation, 3D Studio Max, Pro/Engineer (and the latest killer 3-D games) all on the same piece of graphics hardware, you should know what to look for in such devices.

With software support of 3-D acceleration ultimately acting both as an enabling mechanism and a stabilizing factor, what’s left to differentiate various PC 3-D hardware devices  are price, support, and performance. But because this market is still in its infancy, and because there are more than 30 companies vying for the 3-D hardware dollar, prices will fluctuate in a fit of competitive frenzy.

Support is perhaps the most critical issue, since 3-D hardware is a relatively new technology, at least on the scale on which such devices are going to be sold. Support considerations include:

  • Will the company still exist a year from now?
  • What drivers does the company currently support? (Drivers can be extreme vaporware; promises about drivers should be taken with a grain of salt)
  • Is there another source for drivers if the company stops supporting the product?
  • What type of phone, fax, or E-mail support does the company provide, and does it cost?

Performance is a central issue also, although, unfortunately, it’s not something easily measured, both because of the diversity of 3-D graphics applications (e.g., engineering vs. entertainment vs. modeling) and because the PC 3-D market is still so young. Rumor has it that Ziff- Davis Benchmark Operations is working on a 3-D benchmark for release at the end of the year, joining its well-known WinBench, WinStones, and PCBench benchmark series.

Therefore, when a board vendor quotes some esoteric 3-D performance number, ignore it until a unified benchmark comes along. Until then, rely on magazine reviews and peer experience.

As a rule of thumb, however, the performance of a given 3-D graphics board is affected by (1) the bus type of the board, (2) the quality of the driver support, and (3) the feature set of the 3-D graphics chip being used. If you buy a 3D graphics board in 1996, it should be a PCI bus-based board. In 1997, Intel’s Accelerated Graphics Port (AGP) will start becoming popular and will entail a new bus technology that overcomes the graphics bottleneck the PCI bus creates.

The quality of the 3-D drivers that come with a given board is difficult to discern. In the past, the best places to get information on driver quality have been public forums like CompuServe, AOL, and the Internet, as well as magazine reviews.

The final performance issue is: What does the hardware accelerate? The simplest form of acceleration is a “span engine” A span engine draws horizontal strips, leaving the calculation of where to draw the strips up to system software. This really sucks up system bandwidth.

Next up the scale is a triangle drawing engine. Nearly all 3-D triangle engines support smooth shading algorithms, an important requirement, and also generally off-load quite a bit of the calculation process from the system. Triangles are a key 3-D drawing component, since all other complex shapes can be reduced to triangles and triangles are relatively easy to draw.

Usually used in conjunction with 3-D triangles and lines is something called a Zbuffer: a special memory area used for the depth sorting of pixels so that objects that are  supposed to be in front of other objects actually visually appear that way on your display. Further up the 3-D feature chain are devices that do hardware texture mapping; that is, they apply 2-D graphical data. such as digital photos, onto 3-D surfaces, even wrapping them around 3-D objects.

Virtually all the devices coming out by year’s end will support a Z-buffer, 3-D line and triangle drawing, texture mapping with bilinear or bilinear interpolation and perspective correction, and lighting. If possible, for future compatibility, you should make sure any device you purchase has most if not all of these features.

A 3-D Future
There’s a lot more to the exploding PC 3-D mark et than can be covered in a single article. The market is growing exponentially, in terms of both hardware and software. If you want to keep track of all the latest PC 3-D graphics hardware developments, an excellent place I can recommend is the Dimension 3D Page on the Web.

And, speaking of the Web, 3-D software is a major driving force in cyberspace, where revolutionary technologies, such as Virtual Reality Modeling Language (VRML) and 3-D browsers, are opening up new 3-D realms for exploration. These changes, combined with the rapid deployment of high-end 3-D applications for Windows 95 and NT, and the incredible boom in 3-D game technology, should make for an truly amazing time ahead.

Side Bar: Heidi Ho

Not all high-end applications are using OpenGL as their native 3-D graphics rendering API. Autodesk has developed its own 3-D rendering API called Heidi. Heidi is the low-level layer of HOOPS, a high-level 3-D API Autodesk owns as a result of acquiring Ithaca Software several years ago. HOOPS was once used by most of the CAD packages that didn’t use OpenGL. Many of these packages have since been ported to OpenGL, as CAD companies have wanted to avoid having a competitor control their display capabilities.

Autodesk has debuted Heidi as part of its 3D Studio Max for Windows NT procluct, and has also indicated that Heidi will be the 3-D display and rendering engine used in a future release of its flagship product, AutoCAD. While some 3-D hardware companies are providing Heidi drivers, Autodesk has promised that Heidi will be able to sit on top of OpenGL.

List of companies mentioned in this article and their respective contact information:

AccelGraphics Inc.
San Jose, CA
408-441-1556 – Fax 408- 441-1599

Artist Graphics
St. Paul, MN
612-631-7855 – Fax 612-631-7802

ATI Technologies
Thornhill, Ontario
905-882-2600 – Fax 905- 882-9339

Autodesk/Kinetix Division
San Rafael, CA
415-507-5000 – Fax 415-507-5100

Diamond Multimedia/SPEA
San Jose, CA
408-325-7000 – Fax 408-325-7070

San Jose, CA
408-935-0350 – Fax 408-935-0370

Evans & Sutherland
Salt Lake City, UT
801-588-1000 – Fax: 801-588-4540

Fujitsu Microelectronics
San Jose, CA
800-558-2494 – Fax 408-922-9179

Intergraph Corp.
Huntsville, AL
205-730-5441 – Fax 205-730-6188

Matrox Graphics
Dorval, Quebec, Canada
514-969-6320 – Fax 514-969-6363

206-880-8080 – Fax 206-936-7329

Number Nine Visual Technologies
Lexington, MA
617-674-0009 – Fax: 617-674-2919::

Oki America/Advanced Products Division
Marlborough, MA
508-624-7000 – Fax: 508-480 9635

Omnicomp Graphics Corp.
713-464-2990 – Fax 713- 827-7540

S3 Inc.
Santa Clara, CA
408-980-5400 – Fax 408-980-5444

3Dlabs Inc.
San Jose,CA
408-436 3455 – Fax 408-436 3458