Ambient light
Jump to navigation
Jump to search
Ambient light is light that has bounced off a surface. Dynamically-lit objects receive ambient lighting through a different path from direct lighting, while statically-lit objects bake both into their lightmap.
Only static lights, those compiled by VRAD, generate ambient lighting.

Storage
Ambient terms are stored in sample points spread throughout the world. These can be visualised by enabling mat_leafvis
and r_visambient
. Dynamic lighting is a combination of the nearest "ambient cube" sample point and up to two direct lights.
Although their absolute number is adjusted, smaller visleaves will still have denser concentrations of sample points.
Console commands
mat_leafvis 1; r_visambient 1
- These two commands together enable the display the ambient lighting sample points in the active leaf.
r_flashlightambient <int>
- [Todo]
r_lightcache_numambientsamples <int>
- Cheat. The number of random directions to fire rays when computing ambient lighting. Default 162. Todo: What effect does this have after a map has been compiled?
r_ambientlightingonly <bool>
- Cheat. Light models with only ambient lighting; requires map restart.
r_radiosity <int>
- Cheat. The manner in which radiosity is sampled. The console claims that there are four settings (0-3), each with different behaviours, but in practice the only two that seem to matter are 0 to disable and 4 to re-enable. This command is thus the opposite of
r_ambientlightingonly
. r_ambientboost <bool>
- Boosts ambient term if it is totally swamped by local lights.
r_ambientmin <float>
- Threshold above which ambient cube will not boost (i.e. it's already sufficiently bright). Default 0.3. Todo: What units?
r_ambientfraction <float>
- Cheat. Fraction of direct lighting that ambient cube must be below to trigger boosting. Default 0.1.
r_ambientfactor <float>
- Boost ambient cube by no more than this factor. Default 5.