$ambientocclusion: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 1: Line 1:
== A Brief Inroduction to Ambient Occlusion ==
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.
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.


Line 43: Line 41:
* [[$selfillum]]
* [[$selfillum]]


[[Category:List of Shader Parameters]]
[[Category:List of Shader Parameters|A]]
[[Category:VMT Lighting]]
[[Category:VMT Lighting]]

Revision as of 12:22, 25 January 2009

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