Difference between revisions of "Ambient light"

From Valve Developer Community
Jump to: navigation, search
(did what i can for the TODOs)
(Restored missing sections)
 
Line 1: Line 1:
 +
'''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.
 +
 +
{{tip|Ambient light can be created directly by configuring the Ambient property of a [[light_environment]]. It will then be emitted from [[skybox]] brush faces in all directions.}}
 +
 +
== Storage ==
 +
 +
[[File:Ambient cubes.jpg|thumb|Ambient cubes. Note the reflection of light from the bright wall on the left.]]
 +
 +
Ambient terms are stored in sample points spread throughout the world. These can be visualised by enabling <code>mat_leafvis</code> and <code>r_visambient</code>. Dynamic lighting is a combination of the nearest "ambient cube" sample point and [[:File:Shadetree.jpg|up to two direct lights]].
 +
 +
Although their absolute number is adjusted, smaller [[Visleaf|visleaves]] will still have denser concentrations of sample points.
 +
 
== Console commands ==
 
== Console commands ==
  

Latest revision as of 12:18, 21 May 2018

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.

Tip:Ambient light can be created directly by configuring the Ambient property of a light_environment. It will then be emitted from skybox brush faces in all directions.

Storage

Ambient cubes. Note the reflection of light from the bright wall on the left.

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>
Seems like it would be used for making ambient light originating from projected textures or for influencing the color of the flashlight based on ambient light. Does not do anything in Half-Life 2.
r_lightcache_numambientsamples <int>
Cheat. The number of random directions to fire rays when computing ambient lighting. Default 162. Requires map restart.
Confirm:This only affects static props.
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.
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.