$basetexture
(Redirected from $basetexture2)
$basetexture
is a material shader parameter available in all Source games. It 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\>
LightmappedGeneric { $basetexture brick\brickwall031b }
Additional parameters
$basetexturetransform
<matrix>
- 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 X axis.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.
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.
$frame
<integer>
- The frame displayed for a multi-frame texture. This is normally set by the AnimatedTexture or TextureToggle proxies, but can be set manually. The value must be a valid index, or crashes might occur.
$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:
$basetexture2
<texture>
$basetexturetransform2
<matrix>
Bug:
$basetexturetransform2
doesn't exist in the DX9 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 inSource 2007,
Source 2013, and
Alien Swarm. Other games have not been tested.
Code Fix:
Mapbase adds support for
$basetexturetransform2
in Source 2013. The specific code can be found on its repository in the LightmappedGeneric shader files.$frame2
<integer>
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