$lightwarptexture: Difference between revisions
Jump to navigation
Jump to search
Important:
Important:
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 ?]
Kestrelguy (talk | contribs) m (added language bar. also some formatting.) |
ShiroDkxtro2 (talk | contribs) m (Additional Information for conflicting parameters) |
||
Line 5: | Line 5: | ||
{{Shaderparam|$lightwarptexture|dx9=1|since=Source 2006|shader1=VertexLitGeneric|shader2=LightmappedGeneric|shader3=WorldVertexTransition|shader4=EyeRefract}} It tints [[texel]]s depending on their brightness. It can be thought of as localized [[color correction]]. | {{Shaderparam|$lightwarptexture|dx9=1|since=Source 2006|shader1=VertexLitGeneric|shader2=LightmappedGeneric|shader3=WorldVertexTransition|shader4=EyeRefract}} It tints [[texel]]s depending on their brightness. It can be thought of as localized [[color correction]]. | ||
{{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.}} | ||
{{note| | {{important|<code>$lightwarptexture</code> on {{ent|VertexLitGeneric}} requires a {{ent|$bumpmap}}, not having one means a default one will used instead! | ||
This means that in practice, it will be like you did specify {{ent|$bumpmap}}!}} | |||
{{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}}.}} | |||
{{bug|Does not work when using {{ent|$detail}} '''or''' {{ent|$bumpmap2}} on both {{ent|LightmappedGeneric}} and {{ent|WorldVertexTransition}}.}} | |||
{{bug|Does not work when using {{ent|$selfIllumFresnel}} without also using {{ent|$phong}}.}} | |||
{{bug|Does not work when using {{ent|$seamless_scale}}.}} | |||
== Lightwarp textures == | == Lightwarp textures == |
Revision as of 00:30, 15 February 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.

$lightwarptexture
must be specified after all other textures, otherwise it will overwrite them.
$lightwarptexture
on VertexLitGeneric requires a $bumpmap, not having one means a default one will used instead!
This means that in practice, it will be like you did specify $bumpmap!



$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.