$halflambert: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
Important:In stock shaders for 
 to 
, half-lambertian lighting is forcibly enabled on 
) is enabled.
Important:Not designed for static props:
		
	
Deprecated (talk | contribs)  (Changed to use Shaderparam template)  | 
				SirYodaJedi (talk | contribs)   (Eh, I'll add workarounds to the %alphatexture page instead) Tag: Manual revert  | 
				||
| (23 intermediate revisions by 12 users not shown) | |||
| Line 1: | Line 1: | ||
{{LanguageBar}}  | |||
{{  | [[File:Alyx_lambert_half_lambert.jpg|right|200px|thumb|Lambertian (left) and Half Lambertian (right)]]  | ||
{{This is a|shader parameter|name=$halflambert|shader=VertexLitGeneric|shader1=Teeth|shader2=EyeRefract|shader3=VortWarp|shader4=Infected (shader)}} It is a boolean parameter that enables [[Half Lambert|half-lambertian]] lighting, which wraps lighting further around a model to prevent it from losing definition. It only works on models.  | |||
{{  | {{important|In stock shaders for {{src07}} to {{portal2branch}}, half-lambertian lighting is forcibly enabled on <code>VertexLitGeneric</code> regardless of <code>$halflambert</code> setting when {{ent|$phong}} is enabled, unless <code>$phongdisablehalflambert</code>{{as|since}} is enabled.}}  | ||
{{note|This parameter is forcibly disabled since {{csgo}} due to conflicts with cascade shadow mapping.}}  | |||
{{important|Not designed for static props:  | |||
* Does not work on [[static prop]]s which have lighting baked [[VHV|per-vertex]] or [[PPL|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 {{cmd|%alphatexture}} with half opacity.  | |||
}}  | |||
==Syntax==  | ==Syntax==  | ||
| Line 9: | Line 15: | ||
  $halflambert 1  |   $halflambert 1  | ||
[[Category:  | [[Category:Shader parameters|halflambert]]  | ||
[[Category:VMT Lighting]]  | [[Category:VMT Lighting]]  | ||
Latest revision as of 10:14, 9 April 2025
$halflambert  is a   material shader parameter for the VertexLitGeneric, Teeth, EyeRefract, VortWarp, and Infected (shader) shader available in all 
 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.
VertexLitGeneric regardless of $halflambert setting when $phong is enabled, unless $phongdisablehalflambert(in all games since - 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 
%alphatexturewith half opacity. 
Syntax
$halflambert 1