This article's documentation is for anything that uses the Source engine. Click here for more information.

$bumpmap: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(varcom)
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?}} }}
: {{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

English (en)Español (es)Français (fr)中文 (zh)Translate (Translate)

$bumpmap is a material shader parameter available in all Source Source games.

A material's diffuse (left) compared to its normal map.
The above material in-game.

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 Wikipedia icon 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 before CS:GO engine branch 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.
Icon-Important.pngImportant: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.pngNote: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.
Icon-Important.pngImportant:$bumpmap does not exist for LightmappedReflective. Use $normalmap instead.
Note.pngNote:
Icon-Bug.pngBug: $bumpmap causes some other Parameters to not work. Parameters that will break with $bumpmap are ( but not limited to ) :   [todo tested in ?]

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.

See also