$bumpmap
		
		
		
		Jump to navigation
		Jump to search
		
 
  A material's albedo (left) compared to its bump map.
The $bumpmap material parameter 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:
Warning:$bumpmap will disable prop_static's per-vertex lighting in every Source game but  . Not enough data is stored in the vertices for normal mapping, so the engine has no choice but to fall back.
. Not enough data is stored in the vertices for normal mapping, so the engine has no choice but to fall back. Note:
Note:
Basic syntax
LightmappedGeneric
{
	$basetexture	brick/brickwall021a
	$surfaceprop	brick
	$bumpmap		brick/brickwall021a_normal
}
Additional parameters
- $bumptransform <matrix>(DX9 SM2)
- Transforms the bump map texture. Todo: Does this actually require DX9? Present in DX8 fallback shaders.
- The default position is center .5 .5 scale 1 1 rotate 0 translate 0 0.- centerdefines the point of rotation. Only useful if- rotateis being used.
- scalefits the texture into the material the given number of times.- 2 1is a 50% scale in the horizontal X axis while the vertical Y axis is still at original scale.
- rotaterotates the texture counter-clockwise in degrees. Accepts any number, including negatives.
- translateshifts the texture by the given numbers.- .5will shift it half-way. 1 will shift it once completely over, which is the same as not moving it at all.
  Note:All values must be included! Note:All values must be included!
 Bug:Scaling the texture may cause odd issues where the Texture Lock tool in Hammer will not actually lock the texture in place.  [todo tested in ?] Bug:Scaling the texture may cause odd issues where the Texture Lock tool in Hammer will not actually lock the texture in place.  [todo tested in ?]
 Bug:Rotating textures applied on brushes will rotate around the map origin (confirm: Orangebox engine only?). A fix for this is to change the center position in the VMT to the brush's origin.  [todo tested in ?] Bug:Rotating textures applied on brushes will rotate around the map origin (confirm: Orangebox engine only?). A fix for this is to change the center position in the VMT to the brush's origin.  [todo tested in ?]
 
- $ssbump
- Flags the bump map texture as being self-shadowing. Click for more details.
- $bumpscale <float>(DX8)
- Scales the bump map by the given value in DirectX 8. Todo: Does this actually exist? Seemingly not present in DX8 fallback shaders.
- $bumpframe <integer>
- The frame to start an animated bump map on.
- $nodiffusebumplighting <bool>
- Stops the bump map affecting the lighting of the material's albedo, which help combat overdraw. Does not affect the specular map.
 Bug:Does not function in Orange Box builds and later.  [todo tested in ?] Bug:Does not function in Orange Box builds and later.  [todo tested in ?]
- $forcebump <bool>(DX8)
- If 0, use bumpmapping if the card says it can handle it. If 1, always force bumpmapping on.
- $addbumpmaps <bool>Template:CSGO add
- Enables the usage and blending of two bump maps together for LightmappedGeneric.
- $bumpmap2 <texture>(DX9 SM2)
- The second bump map to use, for either WorldVertexTransitionor forLightmappedGenericin for bump map blending. for bump map blending.
- $bumpframe2 <integer>(DX9 SM2)
- Same as $bumpframe, but for the second bump map.
- $bumptransform2 <matrix>(DX9 SM2)
- Same as $bumptransform, but for the second bump map.
 Note: Note:- $detailused with- $detailscalewill override this on- LightmappedGeneric.
- $bumpdetailscale1 <normal>Template:CSGO add
- The strength of the first bumpmap, used for bump map blending.
- $bumpdetailscale2 <normal>Template:CSGO add
- The strength of the second bumpmap, used for bump map blending.
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!)
