%alphatexture

From Valve Developer Community
(Redirected from %alphatexture)
Jump to navigation Jump to search

%alphatexture is an internal material shader parameter available in Garry's Mod Garry's Mod and Mapbase Mapbase.

Used on static props when the prop is flagged for texture shadows and compiling VRAD with -textureshadows. The alpha channel of the specified VTF will be used instead of $basetexture, even if $alphatest and $translucent are absent.

Tip.pngTip:As this parameter is only used by VRAD, the VTF mentioned does not need to be shipped with the map if it is unused elsewhere.
Cpp.pngCode:See this GitHub PR for how to add this to a custom VRAD.
The source code for Mapbase Mapbase 8.0 includes this implementation.

Syntax

"VertexLitGeneric"
{
    $basetexture "models/props_custom/myprop_base"
    %alphatexture "models/props_custom/myprop_alpha"
}

Potential usecases

%alphatexture is most useful for materials that are translucent enough for light to pass through, but are opaque to the human eye. Common materials that would exhibit this behavior are:

  • Foliage such as leaves and grass
  • Curtains, awnings, and umbrellas
  • Paper

This parameter can be useful in certain other niche instances:

Workaround for other versions of VRAD

If mapping for a game that does not have an SDK that includes the source code to compile your own version of VRAD (ex: Left 4 Dead 2 Portal 2), it is still possible to simulate the effect of %alphatexture by creating a separate $translucent material to use in VRAD only, and setting the alpha texture to that material's $basetexture. To avoid needing to swap VMTs every time the map is being compiled, the -insert_search_path parameter can be used with VRAD, which should take priority over the search paths declared in gameinfo.txt.