This article's documentation is for anything that uses the Source engine. Click here for more information.

$lightwarptexture: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (→‎Lightwarp textures: turned some game names into links.)
m (added language bar. also some formatting.)
Line 1: Line 1:
[[File:Lightwarp snow.jpg|thumb|200px|The technique was first used in Day of Defeat's snow maps, such as Kalt.]]
{{lang|$lightwarptexture}}{{source topicon}}[[Category:List of Shader Parameters|L]]
[[File:Lightwarp heavy.png|thumb|150px|It is the cornerstone of TF2's illustrative character rendering.]]
[[File:Lightwarp snow.jpg|thumb|200px|The technique was first used in {{dods|2}}'s snow maps, such as Kalt.]]
[[File:Lightwarp BW.png|thumb|150px|Posterised colour can be achieved, but lighting must be tightly controlled.]]
[[File:Lightwarp heavy.png|thumb|150px|<code>$lightwarptexture</code> is a cornerstone of {{tf2|2}}'s illustrative character rendering.]]
[[File:Celshadingpreview.png|thumb|250px|Cel shading in action.]]
[[File:Lightwarp BW.png|thumb|150px|Posterized color can be achieved, but lighting must be tightly controlled.]]
{{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 localised [[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]].
{{note|<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.}}
{{warning|Requires [[phong]] on <code>[[VertexLitGeneric]]</code> in {{css}}.}}
{{note|Requires [[phong]] on {{ent|VertexLitGeneric}} in {{css|2}}.}}
:{{todo|Do games other than {{css}} require phong for this to work?}}
:{{todo|Do games other than {{css}} require phong for this to work?}}


== Lightwarp textures ==
== 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.
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 ===
=== Examples ===
; <code>snow_warp</code>:[[File:Warptexture.jpg|border|dod\materials\ground\snow_warp]]
: This is the lightwarp texture used in the {{dods|2}} screen to the right. It is designed to add a subtle bluish tint to darker snow without affecting brighter regions.
; <code>pyro_lightwarp</code>:[[File:Pyro lightwarp.png|border|tf\materials\models\player\pyro\pyro_lightwarp]]
: This is applied to all {{tf2|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: [[File:Warp bw.png|border|Custom texture]]
: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.
; <code>Cel Shading</code>:[[File:Cel_lightwarp.png|border|Custom texture]]
:Cel shading can make objects look more cartoony by replacing the smooth lighting gradient with sharp steps.


; <code>snow_warp</code>
Other possible uses of <code>$lightwarptexture</code> include contrast enhancement, tweaking vertex lighting shadow transitions, highlight softening, and more.
: [[File:Warptexture.jpg|border|dod\materials\ground\snow_warp]]
: This is the lightwarp texture used in the {{Game link|Day of Defeat: Source}} screen to the right. It is designed to add a subtle bluish tint to darker snow, without affecting brighter regions.
; <code>pyro_lightwarp</code>
: [[File:Pyro lightwarp.png|border|tf\materials\models\player\pyro\pyro_lightwarp]]
: This is applied to all {{Game link|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.
; Posterised
: [[File:Warp bw.png|border|Custom texture]]
:This custom warp texture creates a posterised "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.
 
; <code>Cel Shading</code>
: [[File:Cel_lightwarp.png|border|Custom texture]]
:Cel shading can make objects look more cartoony, by replacing the smooth lighting gradient with sharp steps.


Other possible uses of <code>$lightwarptexture</code> include contrast enhancement, tweaking vertex lighting shadow transitions, highlight softening and more.


[[Category:List of Shader Parameters|L]]
::[[File:Celshadingpreview.png|thumb|320px|left|Cel shading in action.]]

Revision as of 21:05, 23 May 2022

English (en)中文 (zh)Translate (Translate)
The technique was first used in Day of Defeat: Source Day of Defeat: Source's snow maps, such as Kalt.
$lightwarptexture is a cornerstone of Team Fortress 2 Team Fortress 2's illustrative character rendering.
Posterized color can be achieved, but lighting must be tightly controlled.

Template:Shaderparam It tints texels depending on their brightness. It can be thought of as localized color correction.

Icon-Important.pngImportant:$lightwarptexture must be specified after all other textures, otherwise it will overwrite them.
Note.pngNote:Requires phong on VertexLitGeneric in Counter-Strike: Source Counter-Strike: Source.
Todo: Do games other than Counter-Strike: Source require phong for this to work?

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
dod\materials\ground\snow_warp
This is the lightwarp texture used in the Day of Defeat: Source 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
tf\materials\models\player\pyro\pyro_lightwarp
This is applied to all Team Fortress 2 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
Custom texture
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
Custom texture
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.


Cel shading in action.