$blendmodulatetexture: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
  
  
Tip:You should use 
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.
		
	
m (Nesciuse moved page $blendmodulatetexture/en to $blendmodulatetexture without leaving a redirect: Move to proper place)  | 
				m (Replacing with "This is a" template)  | 
				||
| Line 5: | Line 5: | ||
[[File:Blendmod_mockup.jpg|thumb|250px|A custom blend modulation mask (all channels) side-by-side its affected texture rendered in-game.]]  | [[File:Blendmod_mockup.jpg|thumb|250px|A custom blend modulation mask (all channels) side-by-side its affected texture rendered in-game.]]  | ||
{{  | {{This is a|shader parameter|name=$blendmodulatetexture|shader=LightmappedGeneric|shader1=WorldVertexTransition|since=Source 2006}} It changes the transition between the textures from a smooth, linear gradient to one "stamped" with a pattern.  | ||
{{tip|You should use <code>$blendmodulatetexture</code> wherever possible, as the improvement in visual quality is immense!}}  | {{tip|You should use <code>$blendmodulatetexture</code> wherever possible, as the improvement in visual quality is immense!}}  | ||
Revision as of 09:08, 10 August 2024
Without vs With. The technique was first used in 
 Day of Defeat: Source's snow maps, such as Kalt.
The green channel of 
 Day of Defeat: Source's 
Several (non-snowy)
 Left 4 Dead series materials also use this texture, under a different name.
ground/snowblendtexture.vtf.Several (non-snowy)
$blendmodulatetexture  is a   material shader parameter for the LightmappedGeneric and WorldVertexTransition shader available in all 
 Source games since 
 Source 2006. It changes the transition between the textures from a smooth, linear gradient to one "stamped" with a pattern.
$blendmodulatetexture wherever possible, as the improvement in visual quality is immense!Caveats
- Incompatible with $normalmapalphaenvmapmask in 
. Works in 
. (use $envmapmask instead). 
- Todo: Only in later games? If so, which?
 
- Incompatible with $selfillum in 



. - Incompatible with $bumpmap and $detail being used at the same time, in 
 Alien Swarm. - Using 
$blendmodulatetexturewith $detail will cause a major graphical issue ( stripes over the texture ), except in
. - Incompatible with $detailblendmode 7 in 

 and 9 in 
 - In 
 Source 2006, 
 Source 2007, and 
 Team Fortress 2, incompatible with $basetexturetransform and $detail. - In 
 Source 2006, also 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 
 Alien Swarm, not compatible with $bumptransform. 
In some additional 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. Known exceptions include 
 Counter-Strike: Global Offensive, 
 Portal 2, 
 Garry's Mod, 
 Left 4 Dead 2, and 
 Mapbase. 
Parameters
$blendmodulatetexture
$blendmasktransform
Blend Modulation Textures
Only two color channels are read from the texture:
- 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.
 - 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.
 
There is not always a need for the texture to be high resolution—high-frequency blends can be produced from low-res textures.