$bumpmap

From Valve Developer Community
Revision as of 13:38, 24 August 2019 by Deprecated (talk | contribs) (Changed CSGO parameters to CSGO only as they aren't in any other games, combined $bumpdetailscale1 & 2 into one MatParam template, kept other "2" parameters seperate due to extra details specific to them, misc fixes)
Jump to navigation Jump to search
A material's albedo (left) compared to its bump map.
The above material in-game.

Template:Shaderparam It specifies a texture that will provide three-dimensional lighting information for a material. The texture is a bump map, but the process it is used for is called normal mapping. The two terms are often used interchangeably, however.

Warning.pngWarning:$bumpmap will disable prop_static's per-vertex lighting in every Source game but Counter-Strike: Global Offensive. Not enough data is stored in the vertices for normal mapping, so the engine has no choice but to fall back.
Note.pngNote:
  • In the Water shader, $bumpmap is for a DX8 du/dv map. Use $normalmap instead.
  • Bumpmaps cannot be used on decal textures, except in Counter-Strike: Global Offensive.

Basic syntax

LightmappedGeneric
{
	$basetexture	brick/brickwall021a
	$surfaceprop	brick
	$bumpmap		brick/brickwall021a_normal
}

Additional parameters

$bumptransform [[$ssbump|$ssbump]] $bumpscale $bumpframe $nodiffusebumplighting $forcebump $addbumpmaps $bumpmap2 $bumpframe2 $bumptransform2 $bumpdetailscale1

Console commands

mat_fastnobump <bool>
Quickly enables/disabled normal mapping.
mat_normalmaps <bool>
Displays the bump map texture of all materials that have one in place of their albedo.

(Yes, these two commands have bump and normal the wrong way around!)

See also