$ambientocclusion: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (moved $ambientocclusiontexture to $ambientocclusion over redirect)
(No difference)

Revision as of 02:41, 13 August 2010

Ambient occlusion is a shading method which helps add realism to local reflection models by taking into account attenuation of light due to occlusion. Unlike local methods like Phong shading, ambient occlusion is a global method, meaning the illumination at each point is a function of other geometry in the scene. However, it is a very crude approximation to full global illumination. The soft appearance achieved by ambient occlusion alone is similar to the way an object appears on an overcast day.

Using Ambient Occlusion

Example VMT Syntax

The following example is taken from Left 4 Dead from the model material located in L4D root/materials/models/survivors/teenangst/teenangst_eyeball_l.vmt

EyeRefract
{
$Iris "models/survivors/green_iris2" 
$AmbientOcclTexture "models/survivors/survivor_eye_ao" 
$Envmap "Engine/eye-reflection-cubemap-" 
$CorneaTexture "Engine/eye-cornea" 
$EyeballRadius "0.6" 
$AmbientOcclColor "[.4 .4 .4]" Default 0.33, 0.33, 0.33
$Dilation ".5" 
$ParallaxStrength "0.25" 
$CorneaBumpStrength ".5" 
$halflambert 1
$nodecal 1
$ambientocclusion 1

$RaytraceSphere 1 
$SphereTexkillCombo 0 
}

VMT Paremeters

The following is a list of VMT parameters that are needed to enable the Ambient Occlusion:

$AmbientOcclusion "0/1" - Disable/Enable Ambient Occlusion. (1 = enabled, 0 = disabled)
$AmbientOcclColor "[.n .n .n]" - Replacing n with a number of the color (RGB format)
$AmbientOcclTexture "path/to/vtf" - Filename of the ambient occlusion texture to use

See also