$phong: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Robot: fixing template case.)
Line 24: Line 24:
== Additional parameters ==
== Additional parameters ==


; $bumpmap <texture>
; <code>$bumpmap <texture></code>
: The [[alpha channel]] of the material's bump map acts as a Phong mask. See <code>[[$bumpmap]]</code>.
: See <code>[[$bumpmap]]</code>. Its [[alpha channel]] acts as a Phong mask.
; <code>$phongexponent <[[int]]></code>
; <code>$phongexponent <[[int]]></code>
; <code>$phongexponenttexture <texture></code>  
; <code>$phongexponenttexture <texture></code>  
Line 37: Line 37:
: {{TODO|Needs documentation.}}
: {{TODO|Needs documentation.}}
; <code>$lightwarptexture <texture></code>
; <code>$lightwarptexture <texture></code>
: A 1-dimensional ramp texture for defining the sharpness of shadows. Used to create TF2's quasi-illustrated character lighting.
: See <code>[[$lightwarptexture]]</code>. A 1-dimensional ramp texture that tints depending on brightness.
: {{TODO|Needs documentation.}}
; <code>$phongalbedotint <?></code>
; <code>$phongalbedotint <?></code>
: 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.
: 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.

Revision as of 08:48, 18 August 2009

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>
See $bumpmap. Its alpha channel acts as a Phong mask.
$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>
See $lightwarptexture. A 1-dimensional ramp texture that tints depending on brightness.
$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.
$basemapalphaphongmask <1/0>
Enabled this if the phong texture is in the basetexture's alpha mask.
"GPU>=2?$phong" 1
(Use with $phong 0) Only uses phong if the current PC is using dual GPUs.
Todo: Check if correct, it may be wrong

See also