$bumpmap: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		 
  
		
	
| TomEdwards (talk | contribs)  (redone) | TomEdwards (talk | contribs)  No edit summary | ||
| Line 1: | Line 1: | ||
| [[Image:Brickwall021a normalcompare.jpg|thumb|A material's [[albedo]] (left) compared to its  | [[Image:Brickwall021a normalcompare.jpg|thumb|A material's [[albedo]] (left) compared to its bump map.]] | ||
| [[Image:Example of bump mapping.jpg|thumb|The above material in-game.]] | [[Image:Example of bump mapping.jpg|thumb|The above material in-game.]] | ||
| The '''$bumpmap''' [[VMT]] parameter specifies a texture that will provide three-dimensional lighting information. The texture is  | The '''$bumpmap''' [[VMT]] 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 [[Wikipedia:Normal mapping|normal mapping]]. | ||
| == Basic syntax == | == Basic syntax == | ||
| Line 19: | Line 18: | ||
| ; <code>$bumptransform <matrix></code> | ; <code>$bumptransform <matrix></code> | ||
| : Transforms the  | : Transforms the bump map texture. Requires DirectX 9 or above. | ||
| {{VMT UVtransform}} | {{VMT UVtransform}} | ||
| ; <code>$bumpscale <[[float]]></code> | ; <code>$bumpscale <[[float]]></code> | ||
| : Scales the  | : Scales the bump map by the given value in DirectX 8. | ||
| ; <code>$bumpframe <[[integer]]></code> | ; <code>$bumpframe <[[integer]]></code> | ||
| : Frame number to use from an animated texture. | : Frame number to use from an animated texture. | ||
| ;<code>$nodiffusebumplighting <[[bool]]></code> | ;<code>$nodiffusebumplighting <[[bool]]></code> | ||
| : See [[Controlling Geometry Visibility and Compile Times#Dealing with fillrate issues|Dealing with fillrate issues]]. Only relevant when using [[LightmappedGeneric]]. | : See [[Controlling Geometry Visibility and Compile Times#Dealing with fillrate issues|Dealing with fillrate issues]]. Only relevant when using [[LightmappedGeneric]]. | ||
| ;<code>$forcebump < | ;<code>$forcebump <bool></code> | ||
| : Forces DirectX 8 cards to render the bump map. They normally don't for performance reasons. | : Forces DirectX 8 cards to render the bump map. They normally don't for performance reasons. | ||
| ; <code>$bumpoffset <?></code> | ; <code>$bumpoffset <?></code> | ||
| : {{todo| | : {{todo|DX8 version of center?}} | ||
| ; <code>$bumpmap2 <texture></code> | ; <code>$bumpmap2 <texture></code> | ||
| ; <code>$bumpframe2 <integer></code> | ; <code>$bumpframe2 <integer></code> | ||
| : Used by the [[WorldVertexTransition]] shader in blend materials that display two textures. DirectX 9 required. | : Used by the [[WorldVertexTransition]] shader in blend materials that display two textures. DirectX 9 required. | ||
| == Console commands == | |||
| ; <code>mat_fastnobump <bool></code> | |||
| : Quickly enables/disabled normal mapping. | |||
| ; <code>mat_normalmaps <bool></code> | |||
| : 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!) | |||
| == See also == | == See also == | ||
Revision as of 04:23, 10 July 2008
 
  A material's albedo (left) compared to its bump map.
The $bumpmap VMT 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 normal mapping.
Basic syntax
$bumpmap <texture>
LightmappedGeneric { $basetexture brick/brickwall021a $surfaceprop brick $bumpmap brick/brickwall021a_normal }
Additional parameters
- $bumptransform <matrix>
- Transforms the bump map texture. Requires DirectX 9 or above.
- 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 ?]
 
- $bumpscale <float>
- Scales the bump map by the given value in DirectX 8.
- $bumpframe <integer>
- Frame number to use from an animated texture.
- $nodiffusebumplighting <bool>
- See Dealing with fillrate issues. Only relevant when using LightmappedGeneric.
- $forcebump <bool>
- Forces DirectX 8 cards to render the bump map. They normally don't for performance reasons.
- $bumpoffset <?>
- Todo: DX8 version of center?
- $bumpmap2 <texture>
- $bumpframe2 <integer>
- Used by the WorldVertexTransition shader in blend materials that display two textures. DirectX 9 required.
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!)
