$lightwarptexture: Difference between revisions
Jump to navigation
Jump to search
Important:
Important:
Warning: This means that all parameters that don't work with $bumpmap also won't work with
Note:Does not work without $phong on VertexLitGeneric in
Counter-Strike: Source and
CS:GO engine branch.
Note:
CS:GO engine branch.
Bug:Does not work when using $detail or $bumpmap2 on both LightmappedGeneric and WorldVertexTransition. [todo tested in ?]
Bug:Does not work when using $selfillumfresnel without also using $phong. [todo tested in ?]
Bug:Does not work when using $seamless_scale. [todo tested in ?]
Tip:Use an uncompressed BGR888 texture to avoid color banding on lighting gradients.
SirYodaJedi (talk | contribs) |
m (→Caveats: formatting, grammar) |
||
Line 8: | Line 8: | ||
== Caveats == | == Caveats == | ||
{{Important|<code>$lightwarptexture</code> must be specified ''after'' all other textures, otherwise it will overwrite them.}} | {{Important|<code>$lightwarptexture</code> must be specified ''after'' all other textures, otherwise it will overwrite them.}} | ||
{{Important|<code>$lightwarptexture</code> on {{Ent|VertexLitGeneric}} requires a {{Ent|$bumpmap}}. If not specified, a default one will used instead! '''It will be as if a {{Ent|$bumpmap}} is in the VMT!'''}} | {{Important|<code>$lightwarptexture</code> on {{Ent|VertexLitGeneric}} requires a {{Ent|$bumpmap}}. If not specified, a default one will be used instead! '''It will be as if a {{Ent|$bumpmap}} is in the VMT!'''}} | ||
{{Warning| This means that all parameters that don't work with {{Ent|$bumpmap}} also won't work with <code>$lightwarptexture</code>.}} | {{Warning| This means that all parameters that don't work with {{Ent|$bumpmap}} also won't work with <code>$lightwarptexture</code>.}} | ||
:* [[$detail#Parameters and Effects|$detailblendmode]] 5-9 won't work - 5 & 6 will work when {{Ent|$phong}} is used. | :* [[$detail#Parameters and Effects|$detailblendmode]] 5-9 won't work - 5 & 6 will work when {{Ent|$phong}} is used. | ||
:* {{Ent|$envmapmask}} won't work except in {{mapbase|4}}. {{Ent|$selfillum_envmapmask_alpha}} | :* {{Ent|$envmapmask}} won't work, except in {{mapbase|4}}. | ||
:* {{Ent|$selfillum_envmapmask_alpha}} doesn't work in any branch. | |||
{{Note|Does not work without {{Ent|$phong}} on {{Ent|VertexLitGeneric}} in {{css|2}} '''and''' {{csgobranch|4}}.}} | {{Note|Does not work without {{Ent|$phong}} on {{Ent|VertexLitGeneric}} in {{css|2}} '''and''' {{csgobranch|4}}.}} | ||
{{Note|<code>$lightwarptexture</code> does not seem to exist at all for {{Ent|LightmappedGeneric}} in {{csgobranch|4}}.}} | {{Note|<code>$lightwarptexture</code> does not seem to exist at all for {{Ent|LightmappedGeneric}} in {{csgobranch|4}}.}} | ||
Line 18: | Line 19: | ||
{{Bug|Does not work when using [[Glowing_Textures#.24selfillum|$selfillumfresnel]] without also using {{Ent|$phong}}.}} | {{Bug|Does not work when using [[Glowing_Textures#.24selfillum|$selfillumfresnel]] without also using {{Ent|$phong}}.}} | ||
{{Bug|Does not work when using {{Ent|$seamless_scale}}.}} | {{Bug|Does not work when using {{Ent|$seamless_scale}}.}} | ||
== Lightwarp textures == | == Lightwarp textures == |
Revision as of 09:27, 4 October 2023

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

Template:Shaderparam 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!
$lightwarptexture
.- $detailblendmode 5-9 won't work - 5 & 6 will work when $phong is used.
- $envmapmask won't work, except in
Mapbase.
- $selfillum_envmapmask_alpha doesn't work in any branch.




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



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.