Jump to content
  • Advertisement
Sign in to follow this  

The Story of the 3DFX Voodoo

Recommended Posts

In a throwback to the late 1990's, Fabien Sanglard posted a write-up on his blog discussing the history of the 3DFX Voodoo 1. The story starts with the release of GLQuake in 1997, the miniGL driver impact, and the history of how 3DFX came to be. It's a great read for those of us who bought a Voodoo specifically for GLQuake.


Ross Smith, Scott Sellers, and Gary Tarolli originally met while working at SGI[4]. After a short stint at Pellucid where they tried to sell IrisVision boards for PC (at 1994 $4,000/piece), they started they own company with backing from Gordie Campbell's TechFarm. Headquartered in San Jose, California, 3dfx Interactive was founded in 1994.

Initially intending to design powerful hardware solutions for arcade games, 3dfx pivoted in order to design PC add-on boards.

The article then gets into the SST1 Rendering pipeline, walking through the life of a triangle in 5 stages: CPU transform -> Frame Buffer to TMU -> TMU to FBI -> FBI z-buffer -> Fragment lighting and blending.

The extensive article continues with a deeper dive into the 3DFX's computational units, a review of how developers programmed the Voodoo, and a comparison of software rendered Quake and Voodoo rendered Quake.


For developers, programming the Voodoo1 was done though its Glide API[6]. The design of the API was logically inspired of IRIS GL/OpenGL, with a state machine and prefix for everything (except that it used "gr" instead of "gl" and programmers had to manage VRAM like in Vulkan.)

Read the full write up at Fabien Sanglard's website.


John Carmack (@ID_AA_Carmack) has tweeted in response to the write up.


View full story

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!