I believe there is a quantity of misinformation in this thread. Allow me to help clarify as a somewhat technologically backward OpenGL’er who only added a TNT2 to his voodoo 1 setup a few days ago.
First of all, there is a full OpenGL solution for 3dfx owners. In fact there are two. The final 3dfx driver set, a.k.a. the Quake 3 driver set, included 3dfx’s implementation of a ‘full’ OpenGL. In actual fact I’ve found that glPolygonOffset doesn’t work on voodoo 1’s, but I think this is a bug rather than a shortcut. It doesn’t matter however, because Mesa 3d is another OpenGL for 3dfx solution, and a much better one. I found that with it my application ran faster, and with all the OpenGL calls supported as far as I could make out.
Neither require a special call to start them up.
The only complication is that Microsoft only support one device installed as the OpenGL target at a time. Prior to the voodoo 3, as has been noted in this thread, the cards could not do windowed rendering, so it is not safe to install them as the OpenGL target. Therefore it is up to the application to do one of the following things :
- check for the existance of whatever the 3dfx OpenGL DLL is called (I forget its name), and if it is present, dynamically loads it and get function pointers from it, as advised in previous posts
- put a note in your program telling 3dfx owners they should place a 3dfx type opengl32.dll into the same directory as they installed your game. 3dfx owners are used to this.
If following the second case, you could make it very easy for them, and because MESA is GPL, put a copy on your web page or even into your installation and include very specific instructions for downloading it and extracting it to the same place, or include a little screen in your installer asking if they have a 3dfx. Even better if you are not using an off the shelf installer - try and load the glide library and get accelerator information form it to determine what type of voodoo, if any, is present.
The only slight downside to the Mesa solution is that the makefiles for 3dfx support under windows seem to have gone missing in the 4.x release, so you are stuck with 3.x series releases, which only try to match the 1.2 OpenGL API. 4.x matches 1.3.
I have used the second solution in my current project, simply putting an extra zip file on the downloads page, and have had no complaints or queries from voodoo owners as to why it does not seem to be using their hardware. I do not believe that anyone new enough to computers not to know how to copy a file has a machine old enough to house a voodoo 1 or 2 board. I also believe people with these boards are accustomed to doing a tiny bit more work to make applications run.