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

Teeth: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
Line 7: Line 7:


==Parameters==
==Parameters==
{{MatParam|$basetexture|texture|Texture for the teeth.}}
{{MatParamDef|$basetexture|texture|Texture for the teeth.}}
{{MatParam|$halflambert|bool|Enables half-lambertian lighting. Default <code>1.</code>}}
{{MatParamDef|$halflambert|bool|Enables half-lambertian lighting. Default <code>1.</code>}}
;<code>$clientshader "MouthShader"</code>
;<code>$clientshader "MouthShader"</code>
: {{Todo|What does this actually do?}}
: {{Todo|What does this actually do?}}
{{MatParam|$illumfactor|float|Modifies the amount the teeth are brightened or darkened by. Default <code>1</code>.}}
{{MatParamDef|$illumfactor|float|Modifies the amount the teeth are brightened or darkened by. Default <code>1</code>.}}
{{MatParam|$forward|vector|Forward direction vector for teeth lighting. Default <code>"[1 0 0]"</code>.}}
{{MatParamDef|$forward|vector|Forward direction vector for teeth lighting. Default <code>"[1 0 0]"</code>.}}
{{MatParam|$bumpmap|texture|Bumpmap for the teeth. Enables phong specular, and uses the alpha channel of the bumpmap as a mask if present.|dx9=1}}
{{MatParamDef|$bumpmap|texture|Bumpmap for the teeth. Enables phong specular, and uses the alpha channel of the bumpmap as a mask if present.|dx9=1}}
{{MatParam|$phongexponent|float|Exponent for the specular. Overrides the bumpmap's alpha mask if one is present. Default <code>100</code>.|dx9=1}}
{{MatParamDef|$phongexponent|float|Exponent for the specular. Overrides the bumpmap's alpha mask if one is present. Default <code>100</code>.|dx9=1}}
==Other parameters==
==Other parameters==
{{MatParam|$intro|bool|Teeth are used on a model in Episode 1's intro cutscene. Adds another shader pass.}}
{{MatParamDef|$intro|bool|Teeth are used on a model in Episode 1's intro cutscene. Adds another shader pass.}}
{{MatParam|$warpparam|float|Requires <code>$intro 1</code>. How far into the warp animation we are.}}
{{MatParamDef|$warpparam|float|Requires <code>$intro 1</code>. How far into the warp animation we are.}}
{{MatParam|$entityorigin|vector|Requires <code>$intro 1</code>. World-space location of the entity, required to correctly animate the warp.}}
{{MatParamDef|$entityorigin|vector|Requires <code>$intro 1</code>. World-space location of the entity, required to correctly animate the warp.}}

Latest revision as of 11:47, 23 August 2025

English (en)Translate (Translate)
Mouth is closed
Mouth is slightly open
Mouth is open

Teeth is a Pixel shader available in all Source Source games. It is a shader for teeth that is used to dynamically adjust the brightness of the teeth based on how open the mouth is.

Note.pngNote:This shader is likely obsolete, as Valve hasn't used it for any of their recent games. Instead, they include teeth on their facemaps, using the shader VertexLitGeneric.

Parameters

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

Other parameters

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