Copyright Sierra Stdios & Valve Software

Visual CVARs Names, Values(Range or Toggle), Default Values, Explanations and Performance considerations 
based on 3Dfx Interactive's Voodoo2 running 3Dfx's MiniGL driver
by )))Reverend(((


Things that matter


1. gl_ztrick 0(1) Toggle  **Slight speed gain if on. index

Z-buffer half range, but no clears (saves fill rate). Enabling this might cause distant objects to flicker.

2. gl_overbright 1(1) Toggle **On its own, no effect on speed whatsoever. index

Saturated lighting. Makes lighting more natural and realistic. Depends on whether gl_texsort is enabled. However, in OpenGL there is no way to do this at the same time as multi-texture.  So, on the Voodoo2 you can choose between saturated lighting and the speed of multi-texture which in turn depend on whether gl_texsort is on. See below.

3. gl_texsort 1(0) Toggle **BIG speed hit if enabled index

Controls scene sorting (either by BSP order or texture order).  When it's 1, the scene is drawn in texture order.  Since the texture-order pipeline doesn't support multi-texture, turning this on gets you the gl_overbright lighting(but doesn’t enable it, it merely allows gl_overbright to be called. You’ll still need to set gl_overbright to "1" manually) on your Voodoo2. If gl_texsort is off, your Voodoo2 will ignore gl_overbright because it's using multitexturing.

4. gl_cull 1(1) Toggle **No real benefit and doesn’t affect speed. index

Turns on/off backface culling.

5. gl_smoothmodels 1(1) Toggle **Doesn’t affect speed. index

Smooth (gouraud) shading on models.

6. gl_affinemodels 1(1) Toggle **Doesn’t affect speed. index

No perspective correction on models if faster.

7. gl_dither 1(1) Toggle **Doesn’t affect speed for a Voodoo2 specifically. index

Stochastically dither 24-bit images since the driver will truncate them to 565. Forget this with a Voodoo2 since it doesn’t do 24-bit rendering… L. People with other hardware that support >16-bits will want to try setting this off (i.e. "0") and see if there's any improvements in quality, with perhaps some speed loss.  Half-Life supports up to 24-bit color depth in hardware ( 16-bit in software).

8. gl_spriteblend 1(1) Toggle **Doesn’t affect speed.  index

Use alpha blends on alpha-tested sprites (some plants in the game, for example) to smooth out pixel-hole edges.

9. gl_polyoffset 4(4) Value –No idea what’s the range **Doesn’t affect speed. index

Amount of offset to apply to decals on polygons.This fixes some poly decal errors on i740 cards (namely blood and scorch marks either not showing up or floating through walls, doors, etc) when running beta 2 of Half-Life.  The problem was fixed in the released version.

Here's a quick reference as to settings.  "gl_polyoffset .001" fixes the problem on i740 based boards.  "gl_polyoffset .1" fixes the problem (if apparent)
on TnT based boards.

I have never seen this error on Voodoo 2 based cards.

10. gl_lightholes 1(1) Toggle **Doesn’t affect speed. index

Apply lightmaps to alpha tested surfaces with holes.

11. gl_keeptjunctions 1(1) Toggle ** Doesn’t affect speed. index

Keep collinear points added by QCSG/QBSP to fix T-junctions.

12. gl_max_size 256(256) Value 256-not sure…maybe 1024? **Doesn’t affect speed. index

Maximum texture size. No choice here really when it comes to Voodoo2 since it’s 256x256 L.

13. gl_texturemode GL_LINEAR_MIPMAP_NEAREST(GL_LINEAR_MIPMAP_NEAREST) **Doesn’t affect speed. index

Values (1)GL_NEAREST

Texture filter modes (or, for the techies, interpolation modes). No.5 is trilinear filtering of textures and is the best-looking. However, most, if not all (except,ahem,for the Savage3D), currently available chipsets can't perform such a filtering mode simultaneously with multi-texturing. This includes the Voodoo2. And since the game enables multi-texturing by default (unless you turn on both gl_overbright and gl_texsort), it'll fall back to bilinear mode (No.4). In Brian Hook's words :
"The reason for this limitation on a lot of chipsets is that trilinear filtering is, essentially, a form of multitexture -- it involves performing a weighted blend between two textures (or, more specifically, two MIP map levels from the same texture).  This requires about the same amount of computation and memory bandwidth as any other operation between multiple textures." (this is part of the answer to a question I posted in the "Ask GMB" page at VoodooExtreme)
You can specify No.5 in the config but the game will automatically fall back to No.4 And that's why I specify No.4 in the recommended config.

14. gl_monolights 0(0) Toggle **Doesn’t affect speed. index

Hack for the Permedia2.  It makes the game render the lights monochromatically (no color) with only alpha blending which is different than the way H-L’s lighting normally works. Leave this alone.

15. cl_himodels 1(0) Toggle **Slight speed hit if on. index

Player models quality in DM.

16. r_shadows 1(0) Toggle **Quite a considerable speed hit if on. index

Turns on shadows. Well, this is really a "special effect" feature and is cool to look at.

17. r_lightmap 0(0) Toggle **Doesn’t affect speed. index

Determines whether maps  and textures are lighted or not. Setting to "1" will show flat-shades. Don’t touch this.

18. gl_round_down 3(3) Value 0-3 **BIG speed hit if set to "0". index

Texture quality of entities. "0" is best but the difference is minimal. And with the latest v1.0.0.9 patch, setting this to its best-looking value ,i.e. "0", causes the game to crash on start-up

19. r_drawviewmodel 1(1) Toggle **Improves speed if off. index

Toggles drawing of weapon  on screen. Another effects variable.

20. r_decals 4096(4096) Value **Improves speed if set to lower value for extended period of gaming session. index

Examples of decals are the logos you spray, blood marks and scorch marks. In the previous patch (v1.0.0.6), it was just a toggle (i.e. to either display these effects or not - an absolute). In patch v1.0.0.8, it is now a value. The value is a local-system instruction for allocation of memory for the very purpose of displaying decals. The default value is fine for normal single-player game-mode but for on-line deathmatching, where there could be a range of players numbering 1 to the server's limit (sometimes 64), you might want to drop the value to the recommended (by the v1.0.0.8 patch readme) to 500. This of course still depends on the frequency other deathmatch players spray their logos or how bloody a deathmatch game gets (more blood splatters, more scorch marks). Having a lower value would limit the amount of decals to be displayed. As a game progresses (esp. deathmatching) and more and more decals are drawn in-game, the (memory) value will be met and any previous decals (either logos or blood splatters) won't be displayed (or rather,like,
erased). Having a higher value, on the other hand, would tax your system resources as a particular game session stretches longer and longer.
In fact, now you can control the amount of decals to be displayed. Set to "1" and decals would be limited to just one mark (try setting to "1", blast a wall with the shotgun and you'll only see one bullet mark on the wall plus every subsequent blast would erase previous marks.In short, only one mark will be displayed at any one time). Set it higher and you'll see more marks(decals) ,which means previous marks will stay until the number of marks exceed the value you specify (and when that happens, the "oldest" mark will be erased). The value is directly indicative of the number of decals to be displayed at any one time until the value is exceeded.

21. gl_picmip 0(0) Value 0-4 **Doesn’t affect speed. index

Level of texture detail and sharpness.Important setting. Needs game restart if changed in-game. Higher would result in blurrier textures and uses less texture memory.

22. r_traceglow 0(0) Toggle **BIG speed hit if on.  index

Doesn't do what you *think* it does.Turns on the occlusion calculations between light halos and characters.
1 prevents halos from from being seen/poking through the bodies of enemies.0 only occludes halos with brushes - the default.
So, say a soldier is between you and an explosion or light.When set to "1",the light halo from the explosion/light won't poke thru' the soldier's body.
This requires much more calculations and  **dramatically reduces speed so I leave it off. It's something you'll hardly notice in actual gameplay.

23. r_dynamic 1(1) Toggle **Very little speed hit if on.  index

Dynamic lighting effects. This really looks muted or has been programmed by the Valve team to have a minimal dynamic effect. NOTE that if you disable this, you won't see the light cast by the flashlight (if you turn it on) since its light is dynamic in nature. The flashlight works (and drains batteries) but you just won't see the light. Leave it on.

24. lambert -2(1.5) Value range unknown limits **Doesn’t affect speed. index

A constant that makes model lighting more or less 'directional'.  It's named after Lambert's law which is the generally accepted equation used for diffuse (viewer independent) lighting. It's basically there for Valve to adjust it to get the right lighting.Valve made some tweaks to the characteristics of this equation to better suit the way the calculations of light direction, intensity and falloff in Half-Life's 3D world are made. It's not something that end-users can really tweak intuitively but my experimentations came up with a value that makes models brighter than the default value. The values I have found to be satisfying are its default 1.5, 1(brighter than 1.5) and -2(even brighter than 1).Any values other than these three result in further darkness(of entities) or complete darkness.

25. r_mmx 1(1) Toggle **Very slight speed boost if on for MMX processors. index

This turns on the MMX optimizations.  MMX is autodetected (1 = on, 0 = off), but you can force it on or off with this.

26. gl_palette_tex 1(1) Toggle **Doesn’t affect speed. index

Enable/disable support for paletted textures.  If the GL driver you're using doesn't support the extension, this won't make any difference. But some cards support the extension poorly (like Permedia2) and support must be disabled using this variable. Leave it on for the Voodoo2.

27. r_norefresh 0(0) Toggle **Doesn’t affect speed. index

Set to 1 disables updating the screen in OpenGL & Direct3d (i.e. the screen is like frozen). Does not exist in software. Leave this off. I include this here, however, as lots of people experimented with this and found the game unplayable or thought that the game or their video card's drivers were screwed and didn't know what was the cause.

28. gl_alphamin 0.25(0.25) Value incremental 0 to 1 **Doesn’t affect speed. index

This controls how filtering of alpha-masked textures (gratings, fences, screen-door stuff) affects the appearance of edges. Higher values makes these items (i.e. the gratings,fences,etc.) look "skinnier", 1 makes them absolutely disappear. I recommend default value. If you've a video card other than a Voodoo2, and find the background poking through doors, fences and such, try a lower value.

29. r_novis 0(0) Toggle   
30. r_wateralpha 1(1) Toggle

These two work together.
By default, nothing underwater is drawn since you can't see anything unless you're underwater yourself.
r_novis 1 would draw underwater polys regardless of whether you're on ground or underwater.  **BIG speed hit if on when near maps with water.
r_wateralpha 1 enables water alpha-blending(the default). To disable it (0), r_novis must be on. Disabling would allow you to see, from above water, everything beneath the surface of water (which in effect renders the water surface absolutely transparent. Note that this cvar is a toggle - it's not a value cvar where you can adjust the transparency of water like you do with the water-vis in GLQuake). Be careful with this toggle though as toggling this twice would freeze the game.

31. r_fullbright 0(0) Value 0-4 index

Setting this to "1" means no lightmaps and would render all textures without any dynamic shadings/lighting (so what you get are brightly lit textures, so much so that even the flashlight's beam is invisible).
Setting to "2" would mean only lightmaps (all models are gouraud-shaded minus textures). **BIG speed hit (framerates almost halved when compared to "0") when set to either "1" or "2".
The next two values (3 and 4) only applies in SOFTWARE-mode. Go here for a look.
Setting of "1" might be great for DM -- IF you've got the horsepower (heck, even a P3550 might not cut it).
Changes need a game-restart (if you don't, you'll notice only changes to models, not textures).

Map in Anomalous Materials
Notice the weapon, the floor area where the lights are and all surfaces

fullbright 0 fullbright 1 fullbright 2
r_fullbright 0 (default) r_fullbright 1 r_fullbright 2

Click here for "r_fullbright 3" and "r_fullbright 4" (see above why they're not listed here).

32. gl_clear 0(0) Toggle index

Clears the buffer before painting every frame, like I thought.  if you were to get a hall of mirrors effect in GL, you'll see red instead if set to "1".  There's a performance hit, depending on the card.

33. d_spriteskip 0(0) Toggle index

Helps performance of additive sprites in multiplay (mostly explosions).  It will skip rendering every N scanlines to help the speed.  Venetian blind effect on the explosions, I don't like the look, but folks with bad connections can benefit from this.  Every other scanline removes the most data, but looks better to me than every 2nd or 3rd scanline.

PREV : Introduction and preparations   NEXT : Four settings that are  probably the most important 

  Return to Reverend's THE PULPIT Main Page