VertexLitGeneric

From Valve Developer Community
Revision as of 14:57, 3 February 2023 by Peterscraps (talk | contribs)
Jump to navigation Jump to search
English (en)Français (fr)中文 (zh)Translate (Translate)

VertexLitGeneric is a material shader available in all Source games. It is the shader most commonly used to render models, and supports a variety of effects.

Supported Parameters

Basics

$basetexture
Defines an albedo texture.
$detail
Detail texturing.

$seperatedetailuvs

$decaltexture (only in Counter-Strike: Global Offensive)
Use a 2nd UV channel for high-resolution decal support.

Adjustment

$color2
Color tinting.
$lightwarptexture (in all games since Source 2006)
Per-texel color modification via a warp texture.

[[$allowdiffusemodulation|$allowdiffusemodulation]] $desaturatewithbasealpha [[$notint|$notint]]

Transparency

$alpha
Cheaply scales the opacity of an entire material.
$alphatest
Cheap transparency using a binary opacity mask.
$nocull
Disables backface culling.
$translucent
Expensive translucency using a full alpha mask.
$distancealpha (in all games since Source 2007)
Vector-like edge filtering.

Lighting

$bumpmap
Normal mapping.
$halflambert
Half-lambertian shading.
$selfillum
Determines whether the surface is self-illuminated independent of environment lighting.
$emissiveblend (in all games since Source 2007)
Advanced flowing self-illumination, used on the Vortigaunts in Half-Life 2: Episode Two Half-Life 2: Episode Two .

Reflection

$envmap
Specular reflections.
$phong (in all games since Source 2006)
Diffuse reflections.
$rimlight (in all games since Source 2007)
Constant rimlight based on phong and the ambient lighting.

Effect

$compress (in all games since Source 2007)
$stretch (in all games since Source 2007)
Wrinklemaps for character faces.
$flesh (in all games since Source 2007)
The flesh effect used for Alyx in Half-Life 2: Episode Two.
$treeSway (in all games since Left 4 Dead)
Vertex manipulation to give the effect of trees swaying in the wind.

Technical Workarounds

$flashlightnolambert $lowqualityflashlightshadows $allowfencerenderstatehack $disablecsmlookup

Cloak

VertexLitGeneric natively supports the Spy cloak effect from Team Fortress 2 Team Fortress 2 . You will want to combine it with a sine wave proxy for the full effect.

$cloakpassenabled $cloakfactor $cloakcolortint $refractamount

Caveats

Mapbase

Unlit materials in Mapbase should have the shader SDK_VertexLitGeneric.

See also