|Visual CVARs Names, Values(Range or Toggle), Default Values, Explanations and Performance considerations|
|based on 3Dfx Interactive's Voodoo2 running 3Dfx's MiniGL driver|
|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 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||**Doesnt 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 **Doesnt affect speed.||index|
Apply lightmaps to alpha tested surfaces with holes.
|11. gl_keeptjunctions 1(1) Toggle||** Doesnt 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? **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)||**Doesnt affect speed.||index|
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||**Doesnt 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-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||**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||**Doesnt affect speed.||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||**BIG speed hit if set to "0".||index|
Texture quality of entities. "0" is best but the difference is minimal. And with the latest v188.8.131.52 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 (v184.108.40.206),
it was just a toggle (i.e. to either display these effects or not
- an absolute). In patch v220.127.116.11, 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 v18.104.22.168
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||**Doesnt 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
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||**Doesnt 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||**Doesnt 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 **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
These two work
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
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
|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|
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.