Difference between revisions of "WorldVertexTransition"

From Valve Developer Community
Jump to: navigation, search
m (Changed add templates to since template)
(Added update template and todo; needs more CS:GO documentation)
Line 1: Line 1:
 +
{{update}}
 
[[File:Blendmodulate.jpg|thumb|250px|Application without and with <code>[[$blendmodulatetexture]]</code>.]]
 
[[File:Blendmodulate.jpg|thumb|250px|Application without and with <code>[[$blendmodulatetexture]]</code>.]]
  
Line 6: Line 7:
  
 
{{note|This shader now '''only''' works on displacements. If used on a regular brush, VBSP will generate and pack a {{ent|LightmappedGeneric}} version of the material automatically, discarding the secondary texture.}}
 
{{note|This shader now '''only''' works on displacements. If used on a regular brush, VBSP will generate and pack a {{ent|LightmappedGeneric}} version of the material automatically, discarding the secondary texture.}}
 +
 +
{{todo|This shader was significantly upgraded in {{csgo}} with new parameters, a new layer blending mode, drop shadows, and support for layer-specific detail textures and specular masks. Document these.}}
  
 
==Example==
 
==Example==
Line 30: Line 33:
 
: Bumpmapping.
 
: Bumpmapping.
 
; {{ent|$detail}}
 
; {{ent|$detail}}
: Detail texturing. Applies the same detail texture to both materials.
+
: Detail texturing. Applies the same detail texture to both materials. In {{csgo}}, [[$detail#CS:GO_WorldVertexTransition_Parameters|each layer can use their own detail texture.]]
 
; {{ent|$envmap}}
 
; {{ent|$envmap}}
: Specular reflections. {{todo|Might disable <code>$blendmodulatetexture</code> if both are used.}}
+
: Specular reflections. In {{csgo}}, [[$envmapmask#CS:GO_WorldVertexTransition_Parameters|each layer can have their own specular mask.]] {{todo|Might disable <code>$blendmodulatetexture</code> if both are used.}}
 
; {{ent|$lightwarptexture}} {{since|{{src06}}}}
 
; {{ent|$lightwarptexture}} {{since|{{src06}}}}
 
: Per-texel color modification via a warp texture. Applies the lightwarp to both materials.
 
: Per-texel color modification via a warp texture. Applies the lightwarp to both materials.

Revision as of 15:45, 27 August 2020

Application without and with $blendmodulatetexture.

WorldVertexTransition is a material shader available in all Source games. It is used to blend the vertices of a displacement surface between two different materials. It handles two at once by using a mirrored set of parameters with "2" in their name.

The pattern of the blend is defined by Hammer's alpha painting tool. The blend is normally a linear gradient, but it can also be "stamped" by a texture specified with $blendmodulatetexture. This command makes the material look considerably better for very little cost - use it often!

Note.png Note: This shader now only works on displacements. If used on a regular brush, VBSP will generate and pack a LightmappedGeneric version of the material automatically, discarding the secondary texture.

To do: This shader was significantly upgraded in <Counter-Strike: Global Offensive> with new parameters, a new layer blending mode, drop shadows, and support for layer-specific detail textures and specular masks. Document these.

Example

WorldVertexTransition
{
	$basetexture nature/dirtfloor006a
	$surfaceprop dirt

	$basetexture2 nature/rockfloor005a
	$surfaceprop2 rock

	%tooltexture nature/blendrockgrass004a_tooltexture
}
  • Some visual effects can be selectively applied to one sub-material or the other. See the relevant articles for more details.
  • The Hammer material browser won't be able to display a preview of the material unless it's given a %tooltexture.

Supported Parameters

$blendmodulatetexture (in all games since <Source><Source>)
Modulate the blending between materials using a special texture.
$bumpmap
Bumpmapping.
$detail
Detail texturing. Applies the same detail texture to both materials. In <Counter-Strike: Global Offensive>, each layer can use their own detail texture.
$envmap
Specular reflections. In <Counter-Strike: Global Offensive>, each layer can have their own specular mask. To do: Might disable $blendmodulatetexture if both are used.
$lightwarptexture (in all games since <Source><Source>)
Per-texel color modification via a warp texture. Applies the lightwarp to both materials.
$seamless_scale (in all games since <Source><Source>)
Mitigation for displacement texture stretching.
$selfillum
Self-illumination. Applies the self-illumination to both materials. To do: Might disable $blendmodulatetexture if both are used.
$ssbump (in all games since <Source><Source>)
Self-shadowing bumpmapping. If two bumpmaps are used, both must be self-shadowing bumpmaps in order for this to work properly.
$translucent
$alpha
Expensive and cheap transparency. Applies the transparency to both materials.
$phong (only in <Counter-Strike: Global Offensive>)
Diffuse reflections.

See also