SurfaceGGX
Jump to navigation
Jump to search
SurfaceGGX
is a material shader available in the following Source engine games:
Day of Infamy ,
Insurgency . It was first introduced in Day of Infamy and back ported to Insurgency. It supports PBR.

Supported Parameters
Diffuse texture.
$bumpmap <void>
Normal mapping.
Bug:Animated bump maps aren't possible as the shader lacks the

$bumpframe
parameter.$color <void>
Color tinting.
$detail <void>
Detail texturing.
$envmap <void>
Specular reflections.
$alphatest <void>
Alpha testing.
Metalness Parameters
Despite the name, this is a mask that defines the metalness of the material.
Specular/Gloss Parameters
Misc. Parameters
Multiplier for the fuzz effect, default is 1.0.
Multiplier for roughness.
Todo: More detail, what is roughness?
Enables subsurface scattering on the material.
Todo: More detail.
Enabling disables
$envmap
reflections. The shader will use $envmap
by default even if it isn't specified, unless this is enabled.Configuring the masks
$phongexponenttexture
The RGB channels of $phongexponenttexture
is configured as follows:
Channel | Data |
---|---|
Red | Glossiness (roughness inverted) |
Green | Metalness inverted |
Blue | Sub-surface scattering mask |
$metal
must be set to 1
in order to use the green channel.

$fuzz
and $detailnormal
use the inverse of the blue channel.$masks
The RGB and alpha channels of $masks
is configured as follows:
Channel | Data |
---|---|
RGB | Specular tint |
Alpha | Glossiness |
$pbr
must be enabled to make use of $masks
.
See also
- WorldGGX, similar shader used for brushes and displacements.