$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:
(varcom) |
SirYodaJedi (talk | contribs) |
||
Line 42: | Line 42: | ||
{{MatParam|$bumpframe|int|The frame to start an animated bump map on.}} | {{MatParam|$bumpframe|int|The frame to start an animated bump map on.}} | ||
{{MatParam|$nodiffusebumplighting|bool|Stops the bump map affecting the lighting of the material's [[albedo]], which help combat [[Material optimization#Overdraw|overdraw]]. Does not affect the [[specular]] map, making it useful for distorted reflections on flat surfaces. | {{MatParam|$nodiffusebumplighting|bool|Stops the bump map affecting the lighting of the material's [[albedo]], which help combat [[Material optimization#Overdraw|overdraw]]. Does not affect the [[specular]] map, making it useful for distorted reflections on flat surfaces. | ||
: {{bug|Does not function beyond {{src07|2}}.{{confirm}} | : {{bug|Does not function beyond {{src07|2}}.{{confirm}} {{note|Functions with [[$ssbump]] but not regular normals on {{game link|Source 2013}}. More testing required?}} }} | ||
: Default behavior if the surface lacks {{cmd|SURF_BUMPLIGHT}}, regardless of this command. | |||
|shaders=LightmappedGeneric, Lightmapped_4WayBlend, WorldVertexTransition}} | |shaders=LightmappedGeneric, Lightmapped_4WayBlend, WorldVertexTransition}} | ||
{{MatParam|$ssbump|bool|Flags the bump map texture(s) as being self-shadowing. Click for more details.|since={{src07}}|shaders=LightmappedGeneric, Lightmapped_4WayBlend, WorldVertexTransition}} | {{MatParam|$ssbump|bool|Flags the bump map texture(s) as being self-shadowing. Click for more details.|since={{src07}}|shaders=LightmappedGeneric, Lightmapped_4WayBlend, WorldVertexTransition}} |
Revision as of 09:06, 1 May 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. |