Difference between revisions of "WorldVertexTransition"
(→Supported Parameters) |
Deprecated (talk | contribs) (Added back game availability and links for parameters) |
||
Line 34: | Line 34: | ||
== Supported Parameters == | == Supported Parameters == | ||
− | ; {{MatParam|$basetexture|texture | + | ; {{MatParam|[[$basetexture]]|texture}} |
: The first texture in the blend. | : The first texture in the blend. | ||
− | ; {{MatParam|$basetexture2|texture | + | ; {{MatParam|$basetexture2|texture}} |
: The second texture to blend to. | : The second texture to blend to. | ||
− | ; {{MatParam|$bumpmap|texture | + | ; {{MatParam|[[$bumpmap]]|texture}} |
: bumpmap for the first texture. | : bumpmap for the first texture. | ||
− | ; {{MatParam|$bumpmap2|texture | + | ; {{MatParam|$bumpmap2|texture}} |
: bumpmap for the second texture. | : bumpmap for the second texture. | ||
− | ; {{MatParam|$ | + | ; {{MatParam|[[$blendmodulatetexture]]|texture|since={{src06}}}} |
: Modulate the blending between materials using a special texture. | : Modulate the blending between materials using a special texture. | ||
− | ; {{MatParam|$detail|texture | + | ; {{MatParam|[[$detail]]|texture}} |
: 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.]] | : 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.]] | ||
− | ; {{MatParam|$envmap|texture | + | ; {{MatParam|[[$envmap]]|texture}} |
: 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.}} | : 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.}} | ||
− | ; {{MatParam|$lightwarptexture|texture|}} | + | ; {{MatParam|[[$lightwarptexture]]|texture|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. | ||
− | ; {{MatParam|$seamless_scale|float|}} | + | ; {{MatParam|[[$seamless_scale]]|float|since={{src07}}}} |
: Mitigation for displacement texture stretching. | : Mitigation for displacement texture stretching. | ||
− | ; {{MatParam|$selfillum|bool | + | ; {{MatParam|[[$selfillum]]|bool}} |
: Self-illumination. Applies the self-illumination to both materials. {{todo|Might disable <code>$blendmodulatetexture</code> if both are used.}} | : Self-illumination. Applies the self-illumination to both materials. {{todo|Might disable <code>$blendmodulatetexture</code> if both are used.}} | ||
− | ; {{MatParam|$ssbump|bool|}} | + | ; {{MatParam|[[$ssbump]]|bool|since={{src07}}}} |
: Self-shadowing bumpmapping. If two bumpmaps are used, both must be self-shadowing bumpmaps in order for this to work properly. | : Self-shadowing bumpmapping. If two bumpmaps are used, both must be self-shadowing bumpmaps in order for this to work properly. | ||
− | ; {{MatParam|$translucent|bool | + | ; {{MatParam|[[$translucent]]|bool}} |
− | ; {{MatParam|$alpha|float | + | ; {{MatParam|[[$alpha]]|float}} |
: Expensive and cheap transparency. Applies the transparency to both materials. | : Expensive and cheap transparency. Applies the transparency to both materials. | ||
− | ; {{MatParam|$vertexalpha|bool | + | ; {{MatParam|[[$vertexalpha]]|bool}} |
: Causes the material to blend between the primary texture and full transparency. Automatically marks the material as {{ent|$translucent}}. | : Causes the material to blend between the primary texture and full transparency. Automatically marks the material as {{ent|$translucent}}. | ||
− | ; {{MatParam|$additive|bool | + | ; {{MatParam|[[$additive]]|bool}} |
: Adds the color of the pixels on the surface with the pixels of objects behind it. | : Adds the color of the pixels on the surface with the pixels of objects behind it. | ||
− | ; {{MatParam|$phong|bool|}} | + | ; {{MatParam|[[$phong]]|bool|only={{csgo}}}} |
: Diffuse reflections. | : Diffuse reflections. | ||
; {{MatParam|%detailtype|string|}} | ; {{MatParam|%detailtype|string|}} |
Latest revision as of 10:28, 12 September 2020
This article needs to be updated to include current information regarding the subject. |

$blendmodulatetexture
.WorldVertexTransition
is a material shader available in all Source games. It is a shader functionally similar to LightmappedGeneric primarily used to perform a per-vertex linear blend between two textures on a displacement surface. Many of the parameter definitions for the secondary material are the same as the first material except with a "2" at the end. ex: $basetexture2
You can choose which texture you would like to appear on a vertex using Hammer's alpha painting tool. The blend is normally a linear gradient, but you can control the blend on a per-pixel basis by specifying $blendmodulatetexture
in the material.
Caveats

$vertexalpha
to create a material that fades out. This uses the first $basetexture then fades out with the blend. Unfortunately, it is treated the same as a material with $translucent
and can have sorting issues with other transparency objects.
LightmappedGeneric
version of the material automatically, discarding the secondary texture.
LightmappedGeneric
does texture blending as well and supports many of the same features as this shader.
$blendmodulatetexture
does not display in hammer despite the shader LightmappedGeneric
displaying it correctly. Instead it displays a linear blend. This has been fixed in 
To do: This shader was significantly upgraded in 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
$basetexture
<texture>
- The first texture in the blend.
$basetexture2
<texture>
- The second texture to blend to.
$bumpmap
<texture>
- bumpmap for the first texture.
$bumpmap2
<texture>
- bumpmap for the second texture.
$blendmodulatetexture
<texture>
(in all games since)
- Modulate the blending between materials using a special texture.
$detail
<texture>
- Detail texturing. Applies the same detail texture to both materials. In
, each layer can use their own detail texture.
$envmap
<texture>
- Specular reflections. In
, each layer can have their own specular mask. To do: Might disable
$blendmodulatetexture
if both are used. $lightwarptexture
<texture>
(in all games since)
- Per-texel color modification via a warp texture. Applies the lightwarp to both materials.
$seamless_scale
<float>
(in all games since)
- Mitigation for displacement texture stretching.
$selfillum
<boolean>
- Self-illumination. Applies the self-illumination to both materials. To do: Might disable
$blendmodulatetexture
if both are used. $ssbump
<boolean>
(in all games since)
- Self-shadowing bumpmapping. If two bumpmaps are used, both must be self-shadowing bumpmaps in order for this to work properly.
$translucent
<boolean>
$alpha
<float>
- Expensive and cheap transparency. Applies the transparency to both materials.
$vertexalpha
<boolean>
- Causes the material to blend between the primary texture and full transparency. Automatically marks the material as
$translucent
. $additive
<boolean>
- Adds the color of the pixels on the surface with the pixels of objects behind it.
$phong
<boolean>
(only in)
- Diffuse reflections.
%detailtype
<string>
- Specifies what
Detail props
to spawn on the material. The string should be the name of a detail type outlined in "detail.vbsp" or your specified .vbsp file.
See also
- LightmappedGeneric, the standard shader for lightmapped surfaces.
- Lightmapped_4WayBlend, an upgraded displacement blend shader for
.
- LightmappedTwoTexture, a brush shader that multiplies a texture on top of another one.
- WorldTwoTextureBlend, a brush shader that applies a texture on top of another one using $detail.
- Displacement, the surface type this shader is used on.