$basetexture/en
Language subpage
This subpage is used on the $basetexture page to display content in English.
If you have edited the language subpage, do not forget to purge the base page by clicking on the button on the right. Otherwise, its contents will not be updated.
$basetexture
is a material shader parameter available in all Source games. It defines an diffuse 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\>
LightmappedGeneric { $basetexture brick\brickwall031b }
Additional Parameters
Transforms the texture before use in the material. This does not affect lightmaps on the surface.
- The default position is
center .5 .5 scale 1 1 rotate 0 translate 0 0
.center
defines the point of rotation. Only useful ifrotate
is being used.scale
fits the texture into the material the given number of times.2 1
is a 50% scale in the horizontal X axis while the vertical Y axis is still at original scale.rotate
rotates the texture counter-clockwise in degrees. Accepts any number, including negatives.translate
shifts the texture by the given numbers..5
will 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!
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.
The frame displayed for a multi-frame texture. This is normally set by the
Warning:The value must be a valid index, or crashes might occur.
AnimatedTexture
or {{TextureToggle}} proxies, but can be set manually. 
$basetexture2
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:

$basetexturetransform2
doesn't exist in the DirectX 9 version of WorldVertexTransition
, only working with the DX8 shader. In DX9, $basetexture2
will instead move with the original $basetexturetransform
in sync with $basetexture
. This is the case in 


Code Fix:
Mapbase adds support for
$basetexturetransform2
in Source 2013. The specific code can be found on its repository in theLightmappedGeneric
shader files.
There are further '2' commands applying to various shader effects, which are each documented in their respective articles.
See Also
$envmapmask
(specular mask)$envmap
(environment map)$phong
(diffuse reflection)$selfillum