3dfx Interactive and Voodoo Graphics – The Technologies Within

TECHNOLOGY EXPLAINED

You could play a PC CD-ROM game without a 3DFX card, but I wouldn’t recommend it” – Gary Keith of Eidos at the time. That’s quite a powerful statement. Most of you have heard of the now-defunct company 3dfx Interactive, which was acquired by NVIDIA in December 2000 for $ 112 million (a process which took more than eight years to finalize), but who were they and what did they do that immortalized them in time? What innovations did they bring to the table that either stuck with us for a significant period of time, possibly appearing in different iterations in other products, and what has stuck with us ever since?

Who was 3dfx Interactive?

3dfx Interactive started back in 1994 by Ross Smith, Gary Tarolli and Scott Sellers, who were all engineers at Silicon Graphics (SGI) before breaking off to form their own graphics chipset company. Two years after starting, 3dfx released the original Voodoo Graphics chipset, the first of a short but eventful reign of graphical prowess.

Glide API

Glide was a graphics API developed in-house by 3dfx and available exclusively using their graphics processors (namely the Voodoo series of graphics cards). Glide is a stripped down, optimized, and tweaked version of OpenGL, making it closer to metal (less of a hardware abstraction layer), and faster than the overweight OpenGL (at least for its time). Whereas OpenGL had 336 calls, Glide brought the size of the library down to under 100. Being designed to run on one type of hardware only meant that the drivers could communicate directly with the graphics card, bypassing slow kernel calls as needed by the open OpenGL and Direct3D. The performance boost of doing this means that Glide could use those freed resources for improving the graphics quality.

SLI

When one thinks of SLI you immediately jump to NVIDIA’s Scalable Link Interface, but SLI predates that by name and to a limited extent by technology in the form of Scan-line Interleave. Introduced with the 3D-only Voodoo2 back in 1998, SLI worked on the same key principle of splitting the render load between multiple graphics cards, but it did so in a much simpler way. Instead of algorithms dynamically adjusting how much of the display each card should render, one card would do each even scan-line (row of pixels) while the other would do each odd row. The two cards were connected to one another using an internal ribbon cable, and from there an external pass-through cable carried the signal to the 2D graphics card.

As with the SLI of today, back then it had both benefits and drawbacks. The benefits were two-fold: firstly the two cards could offer near doubling of performance, and secondly a single card was limited to 800×600 for 3D gaming while SLI could bump that up to 1024×768.

The drawbacks were a bit more numerous. There was a doubling of the cost involved, as you’d need to purchase a second Voodoo2. You would need a total of three graphics cards (which some motherboards didn’t like at all and would refuse to POST) which could cause some intense resource conflicts. PCI slots back then were also at a premium, with slots being needed for your sound card, network card, dial-up modem, SCSI cards, and everything else relevant of the time – this is an era that predates a lot of functionality being integrated into the motherboard. Performance scaling was often less than 100% – sometimes there would be very little scaling indeed.

Despite the drawbacks, 3dfx’s implementation of SLI developed quite a cult following which still exists to this day, and the technology has evolved into NVIDIA’s SLI and AMD’s CrossFire.

Multiple graphics processors on a single graphics card

Of course, this technology was just begging to be brought to a single graphics card, and that’s exactly what 3dfx did with the Voodoo5 5000 (unreleased), Voodoo5 5500, and Voodoo5 6000 (unreleased). The Voodoo4 and Voodoo5 series of cards used graphics processors called the VSA-100 (VSA being an acronym for Voodoo Scalable Architecture), with the Voodoo4 4500 sporting a single chip, the Voodoo5 5000 and 5500 sporting two, and the legendary Voodoo5 6000 gluing four of these chips onto a single graphics card.

This is naturally another technology that we would see again in several guises, including the GeForce 7950GX2, GeForce GTX 295, Radeon HD 5970, and many more.

External power supplies

While not something people generally want, external power supplies have become a the norm for most mid to high end graphics cards of today. Some of the earliest commercially available cards that required external power adapters were from the GeForce FX series, but it goes further back than that. The Voodoo 5 6000, which never saw the light of day as a commercially available product, was such a power hungry card that it required either from a Molex connector inside the case or a completely external, wall-powered power adapter called the Voodoo Volts. AGP cards have a maximum power draw allowance of just under 50 watts, so by adding external power that limit was easily overcome. Just think where we’d be today if the maximum TDP of a graphics card had to be limited to the 75 watts that PCI-Express can offer?

T-Buffer

3dfx made quite a lot of noise about the T-Buffer at the turn of the century. The T-Buffer is a group of five effects that were not quite ready for real-time application, 3dfx had hope that it would bring in-game graphics a step closer to the pre-rendered cutscenes that were popular at the time. These five effects were:

  • Depth of field blur
    This worked by narrowing the depth of field to a sliver of Z-space in the scene, with the size and position of the in-focus sliver being changeable on the fly. Everything outside of this would have a blur applied to it, getting more and more intense as you get further away from the focal field.
  • Full-scene anti-aliasing
    This was once thought to be the holy grail of 3D gaming, but was not possible at the time due to the intense CPU performance hit it caused. Anti-aliasing works by averaging pixels along edges, removing jagged edges and flashing pixels. 3dfx managed to show off Need for Speed III: Hot Pursuit running on their hardware with anti-aliasing enabled without a performance hit. As this is a driver level optimization, it could be retrospectively enabled enabled on games without the ability needing to be built into the game’s engine.
  • Motion blur
    This one is pretty self-explanatory, but once again it is an effect brought to us by 3dfx as part of their T-Buffer. Motion blur went on to be completely overused in the mid 2000s (think of Need for Speed Underground, where everything but your car would become a blurry mess), but today has been largely perfected.
  • Soft reflections
  • Soft shadows
    Soft shadows and reflections have soft, diffused edges instead of solid, abrupt edges that were seen throughout the 90s. Today we couldn’t possibly imagine a world without these, but hard shadows were the de facto standard until the 2000s.

All of these are now taken for granted, but we can thank 3dfx for starting the process of bringing them to the mainstream.

Other mentions

3dfx has innovated several other things that either failed or never took off, such as FXT1 texture compression and W-buffering (which is a floating point equivalent to Z-buffering). However, the largest absurdity is possibly their dedication to 16-bit colour in the early days. The company which spouted all three founders, SGI, would not have been seen dead talking about 16-bit colour as late as the 1990s, so why 3dfx argued the case of 16-bit colour so vigorously is anyone’s guess.

3dfx went through many poor managerial decisions, which ultimately resulted in the bankruptcy of the company. One thing that can never be taken away, however, is their legacy.

FORUM DISCUSSION