$bumpmap: Difference between revisions
Jump to navigation
Jump to search
Warning:
. Not enough data is stored in the vertices for normal mapping, so the engine has no choice but to fall back.
Note:
Deprecated (talk | contribs) m (Revamped with MatParam changes) |
Deprecated (talk | contribs) (Added $bump_force_on from CSGO, added shader information for some parameters) |
||
Line 8: | Line 8: | ||
{{note| | {{note| | ||
* In the <code>[[Water_(shader)|Water]]</code> shader, <code>$bumpmap</code> is for a DX8 [[Du/dv_map|du/dv map]]. Use <code>$normalmap</code> instead. | * In the <code>[[Water_(shader)|Water]]</code> shader, <code>$bumpmap</code> is for a DX8 [[Du/dv_map|du/dv map]]. Use <code>$normalmap</code> instead. | ||
* | * Bump maps cannot be used on decal textures, except in {{csgo}}.}} | ||
==Basic syntax== | ==Basic syntax== | ||
Line 23: | Line 23: | ||
{{MatParam|$bumptransform|matrix|Transforms the bump map texture. {{todo|Does this actually require DX9? Present in DX8 fallback shaders.}} | {{MatParam|$bumptransform|matrix|Transforms the bump map texture. {{todo|Does this actually require DX9? Present in DX8 fallback shaders.}} | ||
{{VMT UVtransform}}|dx9=1}} | {{VMT UVtransform}}|dx9=1}} | ||
{{MatParam|$bumpscale|float|Scales the bump map by the given value in DirectX 8. {{Todo|Does this actually exist? Seemingly not present in DX8 fallback shaders.}}|dx8=1}} | {{MatParam|$bumpscale|float|Scales the bump map by the given value in DirectX 8. {{Todo|Does this actually exist? Seemingly not present in DX8 fallback shaders.}}|dx8=1}} | ||
{{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. | {{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. | ||
: {{bug|Does not function beyond {{Game link|Source 2007}}.}}}} | : {{bug|Does not function beyond {{Game link|Source 2007}}.{{confirm}}}}}} | ||
{{MatParam|$forcebump|bool|If 0, use bumpmapping if the card says it can handle it. If 1, always force bumpmapping on.|dx8=1}} | {{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|$addbumpmaps|bool|Enables the usage and blending of two bump maps together for {{ent|LightmappedGeneric}}.|only={{csgo}}}} | {{MatParam|$forcebump|bool|If 0, use bumpmapping if the card says it can handle it. If 1, always force bumpmapping on.|dx8=1|removed={{l4d}}}} | ||
{{MatParam|$bumpmap2|texture|The second bump map to use, for either {{ent|WorldVertexTransition}} or for <code>LightmappedGeneric</code> in {{csgo}} for bump map blending.|dx9=1}} | {{MatParam|$bump_force_on|bool|Force bump mapping on, even for low-end machines.|only={{csgo}}|shaders=LightmappedGeneric, Lightmapped_4WayBlend, WorldVertexTransition}} | ||
{{MatParam|$bumpframe2|int|Same as <code>$bumpframe</code>, but for the second bump map.|dx9=1}} | {{MatParam|$addbumpmaps|bool|Enables the usage and blending of two bump maps together for {{ent|LightmappedGeneric}}.|only={{csgo}}|shaders=LightmappedGeneric}} | ||
{{MatParam|$bumpmap2|texture|The second bump map to use, for either {{ent|WorldVertexTransition}} or for <code>LightmappedGeneric</code> in {{csgo}} for bump map blending.|dx9=1|shaders=LightmappedGeneric, Lightmapped_4WayBlend, WorldVertexTransition}} | |||
{{MatParam|$bumpframe2|int|Same as <code>$bumpframe</code>, but for the second bump map.|dx9=1|shaders=LightmappedGeneric, Lightmapped_4WayBlend, WorldVertexTransition}} | |||
{{MatParam|$bumptransform2|matrix|Same as <code>$bumptransform</code>, but for the second bump map. | {{MatParam|$bumptransform2|matrix|Same as <code>$bumptransform</code>, but for the second bump map. | ||
: {{Note|<code>[[$detail]]</code> used with <code>$detailscale</code> will override this on <code>LightmappedGeneric</code>.}}|dx9=1}} | : {{Note|<code>[[$detail]]</code> used with <code>$detailscale</code> will override this on <code>LightmappedGeneric</code> if the shader is using <code>$addbumpmaps</code>.}}|dx9=1|shaders=LightmappedGeneric, Lightmapped_4WayBlend, WorldVertexTransition}} | ||
{{MatParam|$bumpdetailscale1|and=$bumpdetailscale2|normal|The strength of the first and second bump maps for bump map blending.|only={{csgo}}}} | {{MatParam|$bumpdetailscale1|and=$bumpdetailscale2|normal|The strength of the first and second bump maps for bump map blending.|only={{csgo}}|shaders=LightmappedGeneric}} | ||
==Console commands== | ==Console commands== |
Revision as of 18:15, 24 April 2020

A material's albedo (left) compared to its bump map.
Template:Shaderparam 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 but 

Basic syntax
LightmappedGeneric
{
$basetexture brick/brickwall021a
$surfaceprop brick
$bumpmap brick/brickwall021a_normal
}
Additional parameters
$bumptransform
$bumpscale
$bumpframe
$nodiffusebumplighting
[[$ssbump|$ssbump]]
$forcebump
$bump_force_on
$addbumpmaps
$bumpmap2
$bumpframe2
$bumptransform2
$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.
- (Yes, these two commands have bump and normal the wrong way around!)
- mat_bumpmap <boolean >
- Enable or disable normal mapping. Default 1.