Difference between revisions of "$basetexture"

From Valve Developer Community
Jump to: navigation, search
(Additional parameters)
(Added $basetexturetransform2 broken status.)
Line 28: Line 28:
* '''<code>$basetexture2</code>'''
* '''<code>$basetexture2</code>'''
* '''<code>$basetexturetransform2</code>'''
* '''<code>$basetexturetransform2</code>'''
{{bug|1=<code>$basetexturetransform2</code> doesn't seem to work in Source 2007 [http://forums.steampowered.com/forums/showpost.php?p=7669785&postcount=4 source].}}
* {{TODO|'''<code>$basetextureoffset2 <normal></code>'''?}}
* {{TODO|'''<code>$basetextureoffset2 <normal></code>'''?}}
* {{TODO|'''<code>$basetexturescale2 <normal></code>'''?}}
* {{TODO|'''<code>$basetexturescale2 <normal></code>'''?}}

Revision as of 22:39, 26 February 2013

The $basetexture VMT command defines an albedo texture. It is very rare for a material not to use this parameter and some shaders will load a default texture if it stays undefined.

VMT syntax

$basetexture	<texture without extension, relative to <game>\materials\>
	$basetexture	brick\brickwall031b

Additional parameters

$basetexturetransform <matrix>
Transforms the texture before use in the material. Requires DirectX 9.
The default position is "center .5 .5 scale 1 1 rotate 0 translate 0 0".
  1. center defines the point of rotation. Only useful if rotate is being used.
  2. scale fits the texture into the material the given number of times. '2 1' is a 50% scale in the X axis.
  3. rotate rotates the texture counter-clockwise in degrees. Accepts any number, including negatives.
  4. translate shifts the texture by the given numbers. '.5' will shift it half-way.
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.
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.
$basetextureoffset <normal>
To do: DX8 version of translate?
$basetexturescale <normal>
To do: DX8 version of scale?

To do: Explain what values the "rotate" parameter uses.


Some shaders (most notably WorldVertexTransition) allow the use of two albedos. The second texture is handled by a mirrored set of commands with '2' in their name:

  • $basetexture2
  • $basetexturetransform2
Bug: $basetexturetransform2 doesn't seem to work in Source 2007 source.
  • To do: $basetextureoffset2 <normal>?
  • To do: $basetexturescale2 <normal>?

There are further '2' commands applying to various shader effects, which are each documented in their respective articles.

See Also