This article's documentation is for anything that uses the Source engine. Click here for more information.

$halflambert

From Valve Developer Community
Revision as of 08:22, 9 April 2025 by SirYodaJedi (talk | contribs) (Even if you disable per-vertex lighting, the $halflambert will still look out of place on static props)
Jump to navigation Jump to search
English (en)Translate (Translate)
Lambertian (left) and Half Lambertian (right)

$halflambert is a material shader parameter for the VertexLitGeneric, Teeth, EyeRefract, VortWarp, and Infected (shader) shader available in all Source Source games. It is a boolean parameter that enables half-lambertian lighting, which wraps lighting further around a model to prevent it from losing definition. It only works on models.

Icon-Important.pngImportant:Since Source 2007 Source 2007, half-lambertian lighting is forcibly enabled on VertexLitGeneric regardless of $halflambert setting when $phong is enabled, unless $phongdisablehalflambert(in all games since Alien Swarm) is enabled.
Note.pngNote:This parameter is disabled since Counter-Strike: Global Offensive due to conflicts with cascade shadow mapping.
Icon-Important.pngImportant:Not designed for static props:
  • Does not work on static props which have lighting baked per-vertex or into lightmaps in stock VRAD; this could be achieved with a custom VRAD.
  • Shadows cast by static props will always be full-lambertian. This could potentially be worked around by using an %alphatexture with half opacity.

Syntax

$halflambert 1