WorldGGX

From Valve Developer Community
Revision as of 15:28, 2 December 2020 by Kidnation (talk | contribs) (Forgot type for $lumroughness.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

WorldGGX is a material shader available in the following Source engine games: Day of Infamy Day of Infamy, Insurgency Insurgency. It was first introduced in Day of Infamy and back ported to Insurgency. Displacement blending similar to WorldVertexTransition is supported.

Bug.png Bug: This shader won't receive light from env_projectedtextures like the player's flashlight. If the player is allowed to use a flashlight, the best case scenario is to only use this shader on materials in lit up areas.

Supported Parameters

$basetexture to $basetexture2
Diffuse texture.
$bumpmap to $bumpmap2
Normal mapping.
Bug.png Bug: Animated bump maps aren't possible as the shader lacks the $bumpframe parameter.
$color2
Color tinting.
$detail
Detail texturing.
$envmap
Specular reflections.
$blendmodulatetexture
Modulation texture for Displacement blending.

Blend Mapping Parameters

$blendmap to $blendmap2 <texture>
Blend map to use for specular and parallaxing (if $parallax is 1). Can also take a height map.
$heightscale to $heightscale2 <float>
A scalar for the $blendmap(2)'s parallax effect.
$heightblend <boolean>
Enabling allows use of $blendmap and $blendmap2.
$heightblendoffset <float>
Offsets the blend map, default is 0.5.
$parallax <boolean>
Enabling uses the blend map as a height map for a parallax effect.
$selfshadow <boolean>
Enabling creates ambient occlusion around the parallax effect.

Misc. Parameters

$roughnessmultiplier <float>
Multiplier for roughness. To do: More detail, what is roughness?
$lumroughness <boolean>
Enabling makes use of the luminance to affect the roughness, default is 0. To do: More detail, luminance of the $basetexture?

See Also