$bumpmap: Difference between revisions
Jump to navigation
Jump to search
Warning:
CS:GO engine branch.
Not enough data is stored in the vertices for normal mapping, so the engine has no choice but to fall back.
Important:Bumpmapped brushes and displacements generate four lightmaps per-surface (one for each light direction, plus non-bumped version), instead of one. If $bumpmap or $normalmap is added to a VMT that did not have it at the time of compilation, the map must be recompiled.
Note:This does not apply to maps compiled using the -bumpall VBSP parameter (Which creates 4 lightmaps for all faces, regardless of if they are bumpmapped). This parameter should not be used often, however, as it significantly increases lightmap usage.
Important:
Note:
Bug:
EpicSentry (talk | contribs) m (Fixed a typo.) |
SirYodaJedi (talk | contribs) |
||
Line 60: | Line 60: | ||
==Console Commands== | ==Console Commands== | ||
{{IO|mat_fastnobump|param=bool|Quickly enables/disabled normal mapping.}} | {{IO|mat_fastnobump|param=bool|Quickly enables/disabled normal mapping.}} | ||
{{IO|mat_normalmaps|param=bool|Displays the bump map texture of all materials that have one in place of their [[ | {{IO|mat_normalmaps|param=bool|Displays the bump map texture of all materials that have one in place of their [[diffuse]].}} | ||
{{IO|mat_bumpmap|param=bool|Enable or disable normal mapping. Default 1.}} | {{IO|mat_bumpmap|param=bool|Enable or disable normal mapping. Default 1.}} | ||
Revision as of 15:28, 1 September 2024
$bumpmap
is a material shader parameter available in all Source games.

A material's albedo (left) compared to its bump map.
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.

$bumpmap
will disable prop_static's per-vertex lighting in every Source game before 
Not enough data is stored in the vertices for normal mapping, so the engine has no choice but to fall back.



$bumpmap
does not exist for LightmappedReflective. Use $normalmap
instead.
- In the
Water
shader,$bumpmap
is for a DX8 du/dv map. Use$normalmap
instead. - Bump maps cannot be used on decal textures except in
CS:GO engine branch.
- On VertexLitGeneric using $lightwarptexture will force bumpmapping even if
$bumpmap
is not in the VMT. A default one is bound instead, all$bumpmap
caveats come with it.

$bumpmap
causes some other Parameters to not work. Parameters that will break with $bumpmap
are ( but not limited to ) :
- Will not work with materials using $envmapmask. Except on VertexLitGeneric(only in
) and LightmappedGeneric(only in
). See Alternative methods.
- In
LightmappedGeneric, $detailblendmode 9 cannot be used.
- In
VertexLitGeneric, $detailblendmode 5, 6, 8, 9, 10 and 11 not usable. With $phong 5 and 6 can be used.
- In
VertexLitGeneric, $detailblendmode 5-11 not usable. With $phong 5 and 6 can be used.
- In
$detailtint won't work.
- $distancealpha, $outline, $softedges won't work.
- On LightmappedGeneric, cannot be used with $basealphaenvmapmask
Basic Syntax
LightmappedGeneric
{
$basetexture brick/brickwall021a
$surfaceprop brick
$bumpmap brick/brickwall021a_normal
}
Additional Parameters
$bumptransform
$bumpframe
$nodiffusebumplighting
$ssbump
$forcebump
$bump_force_on
$addbumpmaps
$bumpmap2
$bumpframe2
$bumptransform2
$bumpmask
$bumpdetailscale1
Console Commands
- mat_fastnobump <boolean >
- Quickly enables/disabled normal mapping.
- mat_normalmaps <boolean >
- Displays the bump map texture of all materials that have one in place of their diffuse.
- mat_bumpmap <boolean >
- Enable or disable normal mapping. Default 1.