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 | ![]() |
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 | ![]() |
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 doesnt enable it, it merely allows gl_overbright to be called. Youll 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 doesnt affect speed. | index |
Turns on/off backface culling.
5. gl_smoothmodels 1(1) Toggle **Doesnt affect speed. | index |
Smooth (gouraud) shading on models.
6. gl_affinemodels 1(1) Toggle **Doesnt affect speed. | index |
No perspective correction on models if faster.
7. gl_dither 1(1) Toggle **Doesnt 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 doesnt 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 **Doesnt 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 whats the range | ![]() |
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 **Doesnt affect speed. | index |
Apply lightmaps to alpha tested surfaces with holes.
11. gl_keeptjunctions 1(1) Toggle | ![]() |
index |
Keep collinear points added by QCSG/QBSP to fix T-junctions.
12. gl_max_size 256(256) Value 256-not sure maybe 1024? **Doesnt affect speed. | index |
Maximum texture size. No choice here really when it comes to Voodoo2 since its 256x256 L.
13. gl_texturemode GL_LINEAR_MIPMAP_NEAREST(GL_LINEAR_MIPMAP_NEAREST) | ![]() |
index |
Values (1)GL_NEAREST
(2)GL_NEAREST_MIPMAP_NEAREST
(3)GL_LINEAR
(4)GL_LINEAR_MIPMAP_NEAREST
(5)GL_LINEAR_MIPMAP_LINEAR
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 | ![]() |
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-Ls 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 | ![]() |
index |
Turns on shadows. Well, this is really a "special effect" feature and is cool to look at.
17. r_lightmap 0(0) Toggle | ![]() |
index |
Determines whether maps and textures are lighted or not. Setting to "1" will show flat-shades. Dont touch this.
18. gl_round_down 3(3) Value 0-3 | ![]() |
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 | ![]() |
index |
Toggles drawing of weapon on screen. Another effects variable.
20. r_decals 4096(4096) Value | ![]() |
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 | ![]() |
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 | ![]() |
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 **Doesnt 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 | ![]() |
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 | ![]() |
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 **Doesnt 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 |
![]() |
index |
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).
Screenshots:
Map in Anomalous Materials
Notice the weapon, the floor area where
the lights are and all surfaces
![]() |
![]() |
![]() |
r_fullbright 0 (default) | r_fullbright 1 | r_fullbright 2 |
_
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.