$bumpmap: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
 
  
 Warning:
Warning: 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.
 Important:Bumpmapped brushes and displacements generate four lightmaps per-surface (one for each light direction, plus non-bumped version), instead of one. If
Important:Bumpmapped brushes and displacements generate four lightmaps per-surface (one for each light direction, plus non-bumped version), instead of one. If  Note:This does not apply to maps compiled using the
Note:This does not apply to maps compiled using the 
 Important:
Important:
 Note:
Note:
 Bug:
Bug: 
		
	
| m (Nesciuse moved page $bumpmap/en to $bumpmap without leaving a redirect: Move en subpage to basepage) | EpicSentry (talk | contribs)  m (Fixed a typo.) | ||
| Line 7: | Line 7: | ||
| {{warning|<code>$bumpmap</code> will disable {{ent|prop_static}}'s per-vertex lighting in every Source game before {{csgobranch|4}}.<br> | {{warning|<code>$bumpmap</code> will disable {{ent|prop_static}}'s per-vertex lighting in every Source game before {{csgobranch|4}}.<br> | ||
| 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.}} | ||
| {{important|Bumpmapped brushes and displacements generate four lightmaps per-surface (one for each light direction, plus non-bumped version), instead of one. If {{code|$bumpmap}} or {{code|$ | {{important|Bumpmapped brushes and displacements generate four lightmaps per-surface (one for each light direction, plus non-bumped version), instead of one. If {{code|$bumpmap}} or {{code|$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 {{code|-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.}} | {{note|This does not apply to maps compiled using the {{code|-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.}} | ||
| }} | }} | ||
Revision as of 09:13, 30 August 2024
$bumpmap  is a   material shader parameter  available in all  Source games.
 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.
 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 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.
 Important:Bumpmapped brushes and displacements generate four lightmaps per-surface (one for each light direction, plus non-bumped version), instead of one. If
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
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:
Important:$bumpmap does not exist for LightmappedReflective. Use $normalmap instead. Note:
Note:
- In the Watershader,$bumpmapis for a DX8 du/dv map. Use$normalmapinstead.
- Bump maps cannot be used on decal textures except in  CS:GO engine branch. CS:GO engine branch.
- On VertexLitGeneric using $lightwarptexture will force bumpmapping even if $bumpmapis not in the VMT. A default one is bound instead, all$bumpmapcaveats come with it.
 Bug:
Bug: $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 ) and LightmappedGeneric(only in ). See Alternative methods. ). See Alternative methods.
- In  LightmappedGeneric, $detailblendmode 9 cannot be used. 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. 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. VertexLitGeneric, $detailblendmode 5-11 not usable. With $phong 5 and 6 can be used.
- In     $detailtint won't work. $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 albedo.
- mat_bumpmap <boolean>
- Enable or disable normal mapping. Default 1.



























