$lightwarptexture/en
Language subpage
This subpage is used on the $lightwarptexture page to display content in English.
If you have edited the language subpage, do not forget to purge the base page by clicking on the button on the right. Otherwise, its contents will not be updated.

The technique was first used in
Day of Defeat: Source's snow maps, such as Kalt.

$lightwarptexture
(DX9+) is a material shader parameter available in all Source games since
Source 2006

for VertexLitGeneric
, LightmappedGeneric
, WorldVertexTransition
, EyeRefract
. It tints texels depending on their brightness. It can be thought of as localized color correction.
Caveats

$lightwarptexture
must be specified after all other textures, otherwise it will overwrite them.


$lightwarptexture
on VertexLitGeneric
requires a $bumpmap
. If not specified, a default one will be used instead! It will be as if a $bumpmap
is in the VMT!

$bumpmap
also won't work with $lightwarptexture
.- $detailblendmode 5-9 won't work - 5 & 6 will work when
$phong
is used. $envmapmask
won't work, except inMapbase.
$selfillum_envmapmask_alpha
doesn't work in any branch.
- $detailblendmode 5-9 won't work - 5 & 6 will work when

$phong
on VertexLitGeneric
in 


$lightwarptexture
does not seem to exist at all for LightmappedGeneric
in 

$detail
or $bumpmap2
on both LightmappedGeneric
and WorldVertexTransition
.
$phong
.
$seamless_scale
.Lightwarp textures
A lightwarp texture is a one-dimensional strip of pixels. Dark texels will be tinted with the colour on the left-hand side, and bright texels with the colour on the right. 50% gray means no tint.

Examples
snow_warp
- This is the lightwarp texture used in the
Day of Defeat: Source screen to the right. It is designed to add a subtle bluish tint to darker snow without affecting brighter regions.
pyro_lightwarp
- This is applied to all
Team Fortress 2 characters, not just the Pyro. It creates the high-contrast shadows with red-tinged terminators typical of the illustrative art the game apes.
- Posterized
- This custom warp texture creates a posterized "line art" style. Enabling lightwarp alone isn't enough however: ambient lighting must be at 0 to make unlit areas black, and world lighting must become viewer-dependent to ensure that shadows are always cast.
Cel Shading
- Cel shading can make objects look more cartoony by replacing the smooth lighting gradient with sharp steps.
Other possible uses of $lightwarptexture
include contrast enhancement, tweaking vertex lighting shadow transitions, highlight softening, and more.