$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:
SirYodaJedi (talk | contribs) No edit summary |
(varcom) |
||
Line 59: | Line 59: | ||
==Console Commands== | ==Console Commands== | ||
{{ | {{varcom|start}} | ||
{{ | {{varcom|mat_fastnobump||bool|Quickly enables/disabled normal mapping.}} | ||
{{ | {{varcom|mat_normalmaps||bool|Displays the bump map texture of all materials that have one in place of their [[diffuse]].}} | ||
{{varcom|mat_bumpmap|1|bool|Enable or disable normal mapping.}} | |||
{{varcom|end}} | |||
==See also== | ==See also== | ||
* {{ent|$ssbump}} | * {{ent|$ssbump}} | ||
* [[Bump map]], for technical details and a guide to creation. | * [[Bump map]], for technical details and a guide to creation. |
Revision as of 10:25, 19 March 2025
$bumpmap
is a material shader parameter available in all Source games.

A material's diffuse (left) compared to its normal 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
Cvar/Command | Parameters or default value | Descriptor | Effect |
---|---|---|---|
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 diffuse. | |
mat_bumpmap | 1 | bool | Enable or disable normal mapping. |