$basetexture: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(→‎$basetexture2: https://github.com/ValveSoftware/source-sdk-2013/search?q=%24basetexture2 I also checked a 2007 repo, no luck)
(Changed to use Shaderparam and MatParam templates)
Line 2: Line 2:
|ru=$basetexture:ru
|ru=$basetexture:ru
}}
}}
The '''$basetexture''' [[VMT]] command defines an [[albedo]] texture. It is very rare for a [[material]] not to use this parameter and some [[shader|shaders]] will load a default [[texture]] if it stays undefined.
{{Shaderparam|$basetexture}} It defines an [[albedo]] texture. It is very rare for a [[material]] not to use this parameter and some [[shader|shaders]] will load a default [[texture]] if it stays undefined.


==VMT syntax  ==
==VMT syntax  ==
Line 14: Line 14:


== Additional parameters ==
== Additional parameters ==
 
{{MatParam|$basetexturetransform|matrix|Transforms the texture before use in the material. This does not affect [[lightmaps]] on the surface.
; <code>$basetexturetransform <matrix></code>
{{VMT UVtransform}}}}
: Transforms the texture before use in the material. This does not affect [[lightmaps]] on the surface.
{{MatParam|$basetextureoffset|normal|{{TODO|DX8 version of translate?}}}}
{{VMT UVtransform}}
{{MatParam|$basetexturescale|normal|{{TODO|DX8 version of scale?}}}}
; <code>$basetextureoffset <[[normal]]></code>
{{MatParam|$frame|int|The frame displayed for a multi-frame texture. This is normally set by the [[List_Of_Material_Proxies#Texture_manipulation|AnimatedTexture]] or [[List_Of_Material_Proxies#Entity_integration|TextureToggle]] proxies, but can be set manually. The value must be a valid index, or crashes might occur.}}
: {{TODO|DX8 version of translate?}}
; <code>$basetexturescale <normal></code>
: {{TODO|DX8 version of scale?}}
 
; <code>$frame <int></code>
: The frame displayed for a multi-frame texture. This is normally set by the [[List_Of_Material_Proxies#Texture_manipulation|AnimatedTexture]] or [[List_Of_Material_Proxies#Entity_integration|TextureToggle]] proxies, but can be set manually. The value must be a valid index, or crashes might occur.


==  $basetexture2 ==
==  $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:
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:
 
{{MatParam|$basetexture2|texture}}
* '''<code>$basetexture2</code>'''
{{MatParam|$basetexturetransform2|matrix|{{bug|<code>$basetexturetransform2</code> doesn't seem to work in Source 2007 [http://forums.steampowered.com/forums/showpost.php?p{{=}}7669785&postcount{{=}}4 source].}}}}
* '''<code>$basetexturetransform2</code>'''
{{MatParam|$basetextureoffset2|normal|{{todo|Does this parameter and the one below it even exist?}}}}
{{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].}}
{{MatParam|$basetexturescale2|normal}}
* '''<code>$basetextureoffset2 <normal></code>'''{{todo|do this parameter and the one below it even exist?}}
* '''<code>$basetexturescale2 <normal></code>'''


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

Revision as of 15:11, 9 June 2019

Template:Otherlang2 Template:Shaderparam 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 $basetextureoffset $basetexturescale $frame

$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 $basetexturetransform2 $basetextureoffset2 $basetexturescale2

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

See Also