EyeRefract: Difference between revisions
Jump to navigation
Jump to search

Bug:Although this shader has support for $emissiveblend, it is not fully implemented and does not work properly. [todo tested in ?]
Bug:The shader doesn't work in
Counter-Strike: Global Offensive, where eyes are always directed to the map's center. Standard models use static eyes. [todo tested in ?]
Confirm:is this just CS:GO, or is it all
CS:GO engine branch games?
mNo edit summary |
m (fixes formatation at $lightwarptexture $envmap $ambientocclusion and $halflambert) |
||
Line 9: | Line 9: | ||
{{MatParam|$iris|texture|The texture for the iris. The alpha channel controls the noisiness of the cornea.}} | {{MatParam|$iris|texture|The texture for the iris. The alpha channel controls the noisiness of the cornea.}} | ||
{{MatParam|$irisframe|int|The frame to start an animated <code>$iris</code> on.}} | {{MatParam|$irisframe|int|The frame to start an animated <code>$iris</code> on.}} | ||
{{MatParam|$corneatexture|texture|A texture to specify the shape of the cornea, similar to a normal map. Influences lighting and dilation. The red and green channels are used for the normal mapping, the blue channel is a mask for parallax mapping (straight multiply), and the alpha channel seems to be a multiplier for lighting. Because the <code>$iris</code> is warped in various ways the normals will not match 1-to-1 with the base texture. {{todo|Requires more testing. Source code: eye_refract_ps2x.fxc - search for "fIrisHighlightMask"}} | {{MatParam|$corneatexture|texture|A texture to specify the shape of the cornea, similar to a normal map. Influences lighting and dilation. The red and green channels are used for the normal mapping, the blue channel is a mask for parallax mapping (straight multiply), and the alpha channel seems to be a multiplier for lighting. Because the <code>$iris</code> is warped in various ways the normals will not match 1-to-1 with the base texture. {{todo|Requires more testing. Source code: eye_refract_ps2x.fxc - search for "fIrisHighlightMask"}}}} | ||
{{MatParam|$corneabumpstrength|float|Strength of the <code>$corneatexture.</code>}} | {{MatParam|$corneabumpstrength|float|Strength of the <code>$corneatexture.</code>}} | ||
{{MatParam|$parallaxstrength|float|How much the viewing angle should influence the positioning of the eye. Stronger values cause the iris to be smaller, but also move slower, making it seem "inset further". Default <code>0.25</code>.}} | {{MatParam|$parallaxstrength|float|How much the viewing angle should influence the positioning of the eye. Stronger values cause the iris to be smaller, but also move slower, making it seem "inset further". Default <code>0.25</code>.}} | ||
{{MatParam|$dilation|normal|Dilates the pupil using the cornea texture to determine the shape of dilation. Default <code>0.5</code>.}} | {{MatParam|$dilation|normal|Dilates the pupil using the cornea texture to determine the shape of dilation. Default <code>0.5</code>.}} | ||
{{MatParam| | {{MatParam|$lightwarptexture|texture|1-dimensional texture which remaps lighting colors.}} | ||
{{MatParam| | {{MatParam|$envmap|texture|Enables cubemap reflections. This shader has a specific cubemap made for it, <code>engine/eye-reflection-cubemap-.vtf</code>, but others can be used, including <code>env_cubemap</code>.}} | ||
{{MatParam|$glossiness|float|The opacity of the cubemap reflection. Does not affect the eye glint. Default <code>0.5</code>.}} | {{MatParam|$glossiness|float|The opacity of the cubemap reflection. Does not affect the eye glint. Default <code>0.5</code>.}} | ||
{{MatParam|$ambientoccltexture|texture|An ambient occlusion texture overlaid onto the entire eye (be sure to adjust the iris scale of the [[Eyeball]] in the QC to make it fit) to make it appear darker near the borders. The texture is multiplicative (white changes nothing, black turns the result darker).}} | {{MatParam|$ambientoccltexture|texture|An ambient occlusion texture overlaid onto the entire eye (be sure to adjust the iris scale of the [[Eyeball]] in the QC to make it fit) to make it appear darker near the borders. The texture is multiplicative (white changes nothing, black turns the result darker).}} | ||
{{MatParam|$ambientocclcolor|RGB matrix|Tints the <code>$ambientoccltexture</code>. Default <code>"[0.33 0.33 0.33]"</code>.}} | {{MatParam|$ambientocclcolor|RGB matrix|Tints the <code>$ambientoccltexture</code>. Default <code>"[0.33 0.33 0.33]"</code>.}} | ||
{{MatParam| | {{MatParam|$ambientocclusion|float|Strength of the dynamic ambient occlusion. Default <code>1</code>. {{todo|Strength for SSAO?}}|since={{l4d}}}} | ||
{{MatParam| | {{MatParam|$halflambert|bool|Enables half-lambertian lighting.}} | ||
{{MatParam|$raytracesphere|bool|Enables sphere raytracing. Each pixel is raytraced to allow sharper angles to look more accurate.}} | {{MatParam|$raytracesphere|bool|Enables sphere raytracing. Each pixel is raytraced to allow sharper angles to look more accurate.}} | ||
{{MatParam|$spheretexkillcombo|bool|Requires <code>$raytracesphere 1</code>. Causes pixels which don't hit the raytraced sphere to be transparent, instead of rendering the "non-raytraced" eye behind it.}} | {{MatParam|$spheretexkillcombo|bool|Requires <code>$raytracesphere 1</code>. Causes pixels which don't hit the raytraced sphere to be transparent, instead of rendering the "non-raytraced" eye behind it.}} |
Revision as of 12:50, 20 September 2023


This article is about the shader. For the preceding shader, see Eyes. For the QC property of $model, see Eyeball./ For the tool, see qc_eyes.
Template:Format It is used to create realistic eyes, which are affected by map lighting and dynamic lighting, such as those from flashlights. This shader is a successor to the Eyes shader from Source 2004.





Shader Parameters
$iris
$irisframe
$corneatexture
$corneabumpstrength
$parallaxstrength
$dilation
$lightwarptexture
$envmap
$glossiness
$ambientoccltexture
$ambientocclcolor
$ambientocclusion
$halflambert
$raytracesphere
$spheretexkillcombo
$eyeballradius
Other Parameters
$eyeorigin
$irisu
$irisv
$intro
$warpparam
$entityorigin
Todo: Include cloak parameters in here?
Todo: Can this shader be used outside of a model with qc eyes, by using proxies (or in SFM override materials) to modify these shader values?