VertexLitGeneric: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (→‎Transparency: syntax)
(→‎Lighting: $lightmap)
Line 27: Line 27:


=== Lighting ===
=== Lighting ===
{{MatParam|$bumpmap|texture| [[Bump_map|Bump]] diffuse. [[Normal]] mapping.}}
{{MatParam|$bumpmap|texture| [[Bump_map|Normal map]].}}
{{MatParam|$lightwarptexture|texture|1 dimension Per-texel color modification via a [[$lightwarptexture|warp texture]].|since={{src06}}}}
{{MatParam|$lightwarptexture|texture|1 dimension Per-texel color modification via a [[$lightwarptexture|warp texture]].|since={{src06}}}}
{{MatParam|$halflambert|bool|[[$halflambert|Half-lambertian]] shading.}}
{{MatParam|$halflambert|bool|Use [[$halflambert|Half-lambertian]] shading.}}
{{MatParam|$selfillum|bool|Determines whether the surface is [[Glowing_Textures#.24selfillum|self-illuminated]] independent of environment lighting.}}
{{MatParam|$selfillum|bool|Determines whether the surface is [[Glowing_Textures#.24selfillum|self-illuminated]] independent of environment lighting.}}
{{MatParam|$emissiveblendenabled|bool|[[Glowing_Textures#.24emissiveblend|Advanced flowing self-illumination]], used on the [[Vortigaunt|Vortigaunts]] in {{Game link|Half-Life 2: Episode Two}}.|since={{src07}}}}
{{MatParam|$emissiveblendenabled|bool|[[Glowing_Textures#.24emissiveblend|Advanced flowing self-illumination]], used on the [[Vortigaunt|Vortigaunts]] in {{Game link|Half-Life 2: Episode Two}}.|since={{src07}}}}
{{MatParam|$lightmap|texture|{{src13mp|only}} Pre-baked [[lightmap]]; subject to limitations.}}


=== Reflection ===
=== Reflection ===

Revision as of 19:26, 25 June 2023

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 $detail $decaltexture

Adjustment

$color2 $basetexturetransform [[$allowdiffusemodulation|$allowdiffusemodulation]] $seperatedetailuvs $desaturatewithbasealpha [[$notint|$notint]]

Transparency

VertexLitGeneric support a few different methods for transparency, each for different purposes $alpha $alphatest $nocull $translucent $additive $distancealpha

Lighting

$bumpmap $lightwarptexture $halflambert $selfillum $emissiveblendenabled $lightmap

Reflection

$envmap $phong $rimlight

Effect

$compress $stretch $flesh $treeSway

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