From Valve Developer Community
Revision as of 00:00, 26 April 2019 by Deprecated (talk | contribs) (Documentation of the Teeth shader)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Teeth is a special shader used specifically for the teeth in <Half-Life 2>Half-Life 2. It is used to dynamically adjust the brightness of the teeth based on how open the mouth is.

Note:This shader is likey obsolete, as Valve hasn't used it for any of their recent games. Instead, they include teeth on their facemaps, using the shader VertexLitGeneric.
To do: Add an image showing the teeth.


$basetexture <texture>
Texture for the teeth.
$halflambert <bool>
Enables half-lambertian lighting. Default 1.
$clientshader "MouthShader"
To do: What does this actually do?
$illumfactor <float>
Modifies the amount the teeth are brightened or darkened by. Default 1.
$forward <vector>
Forward direction vector for teeth lighting. Default "[1 0 0]".
$bumpmap <texture> (DX9+)
Bumpmap for the teeth. Enables phong specular, and uses the alpha channel of the bumpmap as a mask if present.
$phongexponent <float> (DX9+)
Exponent for the specular. Overrides the bumpmap's alpha mask if one is present. Default 100.

Other parameters

$intro <bool>
Teeth are used on a model in Episode 1's intro cutscene. Adds another shader pass.
$warpparam <float>
Requires $intro 1. How far into the warp animation we are.
$entityorigin <vector3>
Requires $intro 1. World-space location of the entity, required to correctly animate the warp.