$bumpmap: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (→‎top: clean up, replaced: {{ModernBug → {{bug)
(Use bumps wisely!)
Line 1: Line 1:
{{langsp}}
{{langsp}}
[[File:Brickwall021a normalcompare.jpg|thumb|A material's [[albedo]] (left) compared to its bump map.]]
[[File:Brickwall021a normalcompare.jpg|thumb|A material's [[albedo]] (left) compared to its bump map.]]
[[File:Example of bump mapping.jpg|thumb|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:Normal mapping|normal mapping]]. The two terms are often used interchangeably, however.
[[File:Example of bump mapping.jpg|thumb|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 {{w|normal mapping}}. The two terms are often used interchangeably, however.


{{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 three lightmaps per-surface, instead of one. If {{code|$bumpmap}} or {{code|$normapmap}} 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. This parameter should not be used often, however, as it significantly increases lightmap usage.}}
}}
{{Important|<code>$bumpmap</code> does not exist for {{code|[[LightmappedReflective]]}}. Use <code>$normalmap</code> instead.}}
{{Important|<code>$bumpmap</code> does not exist for {{code|[[LightmappedReflective]]}}. Use <code>$normalmap</code> instead.}}


Line 56: Line 59:
{{IO|mat_fastnobump|param=bool|Quickly enables/disabled normal mapping.}}
{{IO|mat_fastnobump|param=bool|Quickly enables/disabled normal mapping.}}
{{IO|mat_normalmaps|param=bool|Displays the bump map texture of all materials that have one in place of their [[albedo]].}}
{{IO|mat_normalmaps|param=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!)
{{IO|mat_bumpmap|param=bool|Enable or disable normal mapping. Default 1.}}
{{IO|mat_bumpmap|param=bool|Enable or disable normal mapping. Default 1.}}



Revision as of 14:52, 25 March 2024

English (en)Español (es)Français (fr)中文 (zh)Translate (Translate)
A material's albedo (left) compared to its bump 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 three lightmaps per-surface, instead of one. If $bumpmap or $normapmap 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. 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

mat_fastnobump <booleanRedirectInput/boolean>
Quickly enables/disabled normal mapping.
mat_normalmaps <booleanRedirectInput/boolean>
Displays the bump map texture of all materials that have one in place of their albedo.
mat_bumpmap <booleanRedirectInput/boolean>
Enable or disable normal mapping. Default 1.

See also