In order to see what is really possible with the Quake engine and 3D technology, you really need a 3D video card.
While there are many different video cards out on the market, most of them (such as Matrox Millenium or S3 ViRGE cards) have little or nothing to provide for Quake.
id Software has selected 3Dfx as their primary target for their development, as did many other companies.
Currently, video cards based on this chipset provide probably the best native support for Quake and other games.
Many companies are releasing patches to directly support 3Dfx, and many are planning to do so in their upcoming titles.
There are currently several video cards based on 3Dfx chipset - most of them come as an add-on to your current video card.
That means that you will actually have 2 video cards in your computer - your regular card for 2D operations and 3Dfx based add-on card for 3D applications.
These cards cost in the area of $200, but are well worth the investment.
Many game companies announced official support for 3Dfx in their upcoming titles.
You can get a Diamond Monster 3D card for only $109 (04/13/98) from Comp-U-Plus - it's an OEM version, which means it probably does not come in a fancy box - who needs it anyway?
Remind them that you've seen this link at http://www.gameaholic.com.
Download GLQuake from here - please note that GLQuake, as all Quake add-ons, requires registered version of Quake.
If you have any installation problems - refer to this GLQuake FAQ from 3Dfx - it should answer any questions you might have.
I also recommend getting this tweek.zip file - it's a small program that will help you increase 3Dfx perfomance.
Please read the help file included in the archive before using it.
There are some additional console commands in GLQuake:
Makes water translucent - you can see what's underneath. This requires maps to be pre-processes by a special vis program (or see next command).
This emulates the special vis processing required by r_wateralpha. It will make GLQuake extrimely slow - it's there just temprorarily to show the effect.
Turns on dynamic shadows.
Controls degree of translucency on mirror surfaces. 1 is for non-reflective and 0 for mirroring effect.
There are other less-significant commands: gl_flashblend 0, gl_ztrick 1, gl_affinemodels 1, gl_reportjunctions 1, gl_keeptjunctions 0, gl_polyblend 0, gl_earlyswap 0, gl_keepjunctions 1, gl_smoothmodels 1, gl_nobind 1, gl_cull 1.