$blendmodulatetexture: Difference between revisions
Jump to navigation
Jump to search
Tip:The best way to create a modulation texture is to import the two albedos to an image editor as layers, and create an alpha channel there by hand.
Deprecated (talk | contribs) (Changed to use Shaderparam and MatParam templates) |
(Revised caveats section, added the issue with not displaying in the editor, mentioned Mapbase fixes) |
||
Line 12: | Line 12: | ||
* In Source 2006/2007 and Team Fortress 2, incompatible with [[$basetexturetransform]] and [[$detail]]. | * In Source 2006/2007 and Team Fortress 2, incompatible with [[$basetexturetransform]] and [[$detail]]. | ||
* In Source 2006, incompatible with [[$envmaptint]] and [[$envmapmask]]. | * In Source 2006, incompatible with [[$envmaptint]] and [[$envmapmask]]. | ||
* | * {{as}} In [[Alien Swarm]], modulation textures are not aligned correctly. Use <code>$blendmasktransform "center .5 .5 scale 1 -1 rotate 90 translate 0 0"</code> to fix them up. | ||
* Does not display | |||
* {{ | In some cases, textures will blend as if $blendmodulatetexture were not used: | ||
* Does not display when viewed through water. {{todo|Only in earlier games?}} | |||
* Does not display when illuminated with player's flashlight in {{hl2}} [[Half-Life 2]]. This is fixed in {{mapbase}} [[Mapbase]]. | |||
* Does not display in the Hammer Editor in most games. {{csgo}} [[Counter-Strike: Global Offensive]] and {{mapbase}} [[Mapbase]] are known exceptions. {{todo|Does it show up in the editors of any other games?}} | |||
== Parameters == | == Parameters == |
Revision as of 12:29, 8 December 2019
Template:Shaderparam It changes the transition between the textures from a smooth, linear gradient to one "stamped" with a pattern.
You should use $blendmodulatetexture
wherever possible, as the improvement in visual quality is immense!
Caveats
- Incompatible with $normalmapalphaenvmapmask (use $envmapmask instead).
- In Source 2006/2007 and Team Fortress 2, incompatible with $basetexturetransform and $detail.
- In Source 2006, incompatible with $envmaptint and $envmapmask.
In Alien Swarm, modulation textures are not aligned correctly. Use
$blendmasktransform "center .5 .5 scale 1 -1 rotate 90 translate 0 0"
to fix them up.
In some cases, textures will blend as if $blendmodulatetexture were not used:
- Does not display when viewed through water. Todo: Only in earlier games?
- Does not display when illuminated with player's flashlight in
Half-Life 2. This is fixed in
Mapbase.
- Does not display in the Hammer Editor in most games.
Counter-Strike: Global Offensive and
Mapbase are known exceptions.
Todo: Does it show up in the editors of any other games?
Parameters
$blendmodulatetexture
$blendmasktransform
Blend Modulation Textures

Only two colour channels are read from the texture:
- Green
- Biases in favor of
$basetexture
; high-value areas will be the most resistant to modulation. 128 is normal. - The idea is to paint noise and patterns into this channel, so that the edge between the two textures becomes irregular. Valve's snow texture (see right) has lots of ragged edges in the green channel, and even some bootprints. There are also lines painted along the edges of the albedo's bricks that give them a tendency to have snow along their edges.
- Red
- Sharpens. 0 makes the transition binary, 255 effectively disables modulation.
- The red channel of Valve's snow modulation texture is a constant 99, which produces a fairly sharp falloff. Using different values in different places has the potential to produce a more complex effect.
There is not always a need for the texture to be high resolution - high frequency blends can be produced from low-res textures.