What Is GL Quake?
GL Quake Is...

OpenGL Quake, known as GL Quake, is a version of Quake that uses the OpenGL 3D API for rendering. OpenGL is designed to be implemented by specialized 3D hardware. OpenGL capable adapters have typically only been for sale not in the consumer markets, but scientific and engineering fields due to very high costs. 3Dfx created a basic OpenGL driver for GL Quake. Note that while it is a GL driver, it is not a full real OpenGL driver, and will not likely work with any GL application other than GL Quake. While in theory any adapter that supports OpenGL should run GL Quake, the only consumer level cards that have the power to reasonably do so are cards based on the 3Dfx voodoo or rush chip sets.

To download and install GL Quake, simply get the the GLQuake package - 372K, and unarchive into your Quake directory. Then type glquake to run it.

What New Features Exist?
Transparent Water

A novelty feature of GL Quake is the ability to see in to or out of water. There are a couple ways to turn this functionality on. The command r_wateralpha controls how clear the water is. A value of 1 makes the water opaque to a value of 0 making it totally transparent.

The easiest but less desirable way to enable transparent water involves setting r_waterapha .7 and novis 1. The problem with this method is Quake itself suffers a massive slowdown.

The best way to use transparent water is with maps built with the idea of transparent water in mind.

A good place to get information regarding converting the maps that come with Quake for useable transparent water is at http://www.allgames.com/quake/waterfaq.html. If your a map designer that would like to include transparent water in your maps, check you favorite editing site for a QBSP that has the functionality built in.

Reflective Textures

Another novelty feature of GL Quake is a mirrored texture, unfortunately GL Quake is hardcoded to only provide mirroring with 1 texture. You can check out the effect by starting up the "start" map and setting r_mirroralpha .3. Note that r_mirroralpha works like r_wateralpha in the way that 1 disables mirroring, to 0 which makes a perfect mirror. After getting in GL Quake, walk over to the easy hallway and check out the stained glass texture on the wall.

Object Shadows

Shadows is a feature that can be fun and actually used in normal game play. just type r_shadows 1 at the console and it's enabled.

How Can I Improve Performance
GL Quake Tweaks

There are several settings in GL Quake that can be adjusted to speed game play up, Many of the important ones are:

  1. Use 512x384 resolution. You can gain up to 10-15 more FPS just by lowering from the default 640x480. Launch GL Quake with the command line parameters of -width 512 -height 384, if GL Quake reports it's an unknown video mode, try also adding -window to the command line. With the filtering, this lowering of resolution isn't even noticable.

  2. In deathmatch, use gl_playermip 2 or even gl_playermip 3 in the console. This helps reduce slowdown when serveral players are in view, the downside is a slight bluring of texutres on the players.

  3. Setting gl_polyblend 1 disables the glowing involved with quad/pent and makes water clear.

  4. Again for deathmatch; not using shadows, transparent water, and reflective textures help as those features impose a performance penalty.

  5. Leaving gl_flashblend set to 1 is slightly faster than setting to 0 which makes dynaic lights appear more like they in normal Quake.

Glide Tweaks For 3Dfx

The driver that 3Dfx suppilies has many tweaks and performance enhancements that can be changed through environment variables. A very complete list of all the variables that can be set is available on Zanshin's GLQuake Dojo - under the GLQuake FAQ - section 14. Note that these are not suppored by 3Dfx and a few can even damage your adapter!!! If you don't understand what an option does, don't mess with it. An example of the batch file I use to run GLQuake is provided below:

@ECHO OFF
SET SST_PCIRD=1
SET SST_FASTPCIRD=1
SET SST_FASTMEM=1
SET SST_GAMMA=1.5
SET SST_VIDEO_24BPP=1
SET SST_SCREENREFRESH=75
SET SST_GRXCLK=50
SET FX_GLIDE_SWAPINTERVAL=0
SET FX_GLIDE_NO_SPLASH=1
SET SST_SWAP_EN_WAIT_ON_VSYNC=1
GLQUAKE.EXE -bbp 15 -window -width 512 -height 384 %1 %2 %3 %4 %5 %6 %7 %8 %9

This may or may not work for you as is, however, this is provided as a starting point to help you optimize your GL Quaking experience.