$phong

From Valve Developer Community
Revision as of 01:57, 13 July 2008 by TomEdwards (talk | contribs) ($phongwarptexture)
Jump to navigation Jump to search
Phong shading provides Alyx's skin, hairband and lip highlights.

The $phong VMT command provides diffuse reflections. For a full explanation, see Phong materials.

Note.pngNote:Phong shading is only available with VertexLitGeneric.

VMT syntax

$phong <bool>

The Phong shader should use the default values for any configuration parameters that you omit from your material. However it appears that this doesn't happen. Therefore all of the below parameters are required, even if they stay on their default values.

VertexLitGeneric
{
	$phong			1

	$bumpmap		<texture>
	$phongexponent		5		// either/or
	$phongexponenttexture	<texture>	// either/or
	$phongboost		1.0
	$phongfresnelranges	"[0 0.5 1]"
}

Additional parameters

$bumpmap <texture>
The alpha channel of the material's bump map acts as a Phong mask. See $bumpmap.
$phongexponent <int>
$phongexponenttexture <texture>
See Phong mask and exponent texture. The texture value is overridden by the numeric value (if the latter is present).
$phongboost <int>
Phong overbrightening factor. The phong mask channel should be authored to account for this.
$phongfresnelranges <matrix>
See Phong Fresnel ranges. Default is "[0 0.5 1]".
$phongwarptexture <texture>
Used to create an iridescence effect on npc_hunters.
Todo: Needs documentation.
$lightwarptexture <texture>
A 1-dimensional ramp texture for defining the sharpness of shadows. Used to create TF2's quasi-illustrated character lighting.
Todo: Needs documentation.
$phongalbedotint <?>
Allow the albedo (i.e. $basetexture) to affect the colour tint of the Phong highlight? Possibly related to the green channel of the Phong exponent mask. Seen in some Day of Defeat: Source player model VMTs.
Todo: Needs documentation.
$ambientocclusiontexture <texture>
A "dirtmap". Mentioned in the SDK samples and seen in the VMT for Alyx's face.
Todo: Needs documentation.

See also