Half Lambert

From Valve Developer Community

Jump to: navigation, search
Alyx model showing Lambertian lighting (left) and Half Lambert lighting (right)

"Half Lambert" lighting is a technique first developed in the original Half-Life. It is designed to prevent the rear of an object losing it's shape and looking too flat. Half Lambert is a completely non-physical technique and gives a purely percieved visual enhancement and is an example of a forgiving lighting model.

Implementation

The Lambertian dot product lobe (red) vs. the Half Lambertian dot product lobe (blue)

To soften the diffuse contribution from local lights, the dot product from the Lambertian model is scaled by ½, add ½ and squared. The result is that this dot product, which normally lies in the range of -1 to +1, is instead in the range of 0 to 1 and has a more pleasing falloff.

In the original Half-Life, where this diffuse Half Lambert term was the only term in most of the model lighting, it kept the characters in particular from being lit exclusively by a constant ambient term on the back side with respect to a given light source.

In Source, Half Lambert lighting can most often be seen being used on the characters face materials. It is enabled by the use of $halflambert within a materials VMT file.

See Also

Personal tools
Namespaces
Variants
Actions