$phong: Difference between revisions
Jump to navigation
Jump to search
Note:Phong shading for
. It requires the material to be lit by a env_cascade_light entity to work properly, and uses the dynamic shadows generated by it as a mask on top of the traditional phong masking.
Note:All parameters in the following example must be specified in the material, otherwise Phong shading won't show up at all, except in
.
m (added note to phongfresnelranges: drives x of phongwarp) |
(Added description for how phongwarptexture works and illustration of computed coordinates) |
||
Line 62: | Line 62: | ||
: {{todo|Test and add a better description.}}|since={{csgo}}|shaders=VertexLitGeneric}} | : {{todo|Test and add a better description.}}|since={{csgo}}|shaders=VertexLitGeneric}} | ||
[[File:Phongwarp example.png|thumb|200px|The Hunter without and with its $phongwarptexture, showing how it affects the Phong reflection.]] | [[File:Phongwarp example.png|thumb|200px|The Hunter without and with its $phongwarptexture, showing how it affects the Phong reflection.]] | ||
{{MatParam|$phongtint|RGB matrix|Color tint of the phong reflection | {{MatParam|$phongtint|RGB matrix|Color tint of the phong reflection. | ||
: {{Warning|This will override <code>$phongalbedotint</code> if both are used.}} | : {{Warning|This will override <code>$phongalbedotint</code> if both are used.}} | ||
: {{bug|This does not work with <code>$basemapalphaphongmask.</code>}}|since={{src07}}|shaders=VertexLitGeneric}} | : {{bug|This does not work with <code>$basemapalphaphongmask.</code>}}|since={{src07}}|shaders=VertexLitGeneric}} | ||
[[File:Phongwarp_coordinate_guide.png|thumb|200px|Breakdown of the $phongwarptexture: computed coordinates, texture and result]] | |||
{{MatParam|$phongwarptexture|texture|Used to create an iridescence effect, as seen on Episode Two's [[npc_hunter|Hunters]]. {{Todo|How does $phongwarptexture actually work?}} | {{MatParam|$phongwarptexture|texture|Used to create an iridescence effect, as seen on Episode Two's [[npc_hunter|Hunters]]. {{Todo|How does $phongwarptexture actually work?}} | ||
: The highlight is multiplied with a texture. The coordinates of the sampled pixel are as follows: | |||
:x: 1 - (distance to the center of the highlight) | |||
:y: 1 - (fresnel component as computed by [[Phong materials#Phong Fresnel ranges|Phong Fresnel ranges]]) | |||
: {{note|Disables the initial phongfresnelranges masking}} | |||
: {{bug|Does not work in {{l4d2}}, despite the game being released in 2009.}}|since={{src07}}|shaders=VertexLitGeneric}} | : {{bug|Does not work in {{l4d2}}, despite the game being released in 2009.}}|since={{src07}}|shaders=VertexLitGeneric}} | ||
Revision as of 12:18, 11 June 2021
Template:Shaderparam It provides diffuse reflections, masked by a texture to control its intensity per-texel. For a full explanation, see Phong materials.

LightmappedGeneric
and WorldVertexTransition
is only available in 
Syntax
$phong <bool>


- Todo: Other games that don't require all phong parameters present (likely Portal 2 and up)
VertexLitGeneric
{
$phong 1
$bumpmap [texture]
$phongexponent 5 // either/or
$phongexponenttexture [texture] // either/or
$phongboost 1.0
$phongfresnelranges "[0 0.5 1]"
}
Parameters
Masking
$bumpmap
$basemapalphaphongmask
$basemapluminancephongmask
$phongexponent
$phongexponenttexture
$phongexponentfactor
$invertphongmask
$forcephong
$diffuseexp
$shinyblood
$shinybloodexponent
Brightness
$phongboost
$phongfresnelranges
$phongdisablehalflambert
Colors
$phongalbedotint
$phongalbedoboost
Brush Shader Parameters
$phongmaskcontrastbrightness
$phongamount
$phongbasetint
Console Commands
- mat_phong <boolean >
- Disable or enable phong shading. Default 1.