$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
Note:This does not apply to maps compiled using the
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 or $normalmap is added to a VMT that did not have it at the time of compilation, the map must be recompiled.
-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.$bumpmap does not exist for LightmappedReflective. Use $normalmap instead.- 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. - 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.
$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. |