$lightwarptexture: Difference between revisions
Jump to navigation
Jump to search
Note:$lightwarptexture must be specified after all other textures, otherwise it will overwrite them.
Warning:Requires phong.
NvC DmN CH (talk | contribs) m (todo added) |
NvC DmN CH (talk | contribs) (added cel shading example) |
||
Line 2: | Line 2: | ||
[[File:Lightwarp heavy.png|thumb|150px|It is the cornerstone of TF2's illustrative character rendering.]] | [[File:Lightwarp heavy.png|thumb|150px|It is the cornerstone of TF2's illustrative character rendering.]] | ||
[[File:Lightwarp BW.png|thumb|150px|Posterised colour can be achieved, but lighting must be tightly controlled.]] | [[File:Lightwarp BW.png|thumb|150px|Posterised colour can be achieved, but lighting must be tightly controlled.]] | ||
[[File:Celshadingpreview.png|thumb|250px|Cel shading in action.]] | |||
'''<code>$lightwarptexture</code>''' is a [[material]] parameter that tints [[texel]]s depending on their brightness. It can be thought of as localised [[color correction]]. It requires at least [[DirectX]] 9. | '''<code>$lightwarptexture</code>''' is a [[material]] parameter that tints [[texel]]s depending on their brightness. It can be thought of as localised [[color correction]]. It requires at least [[DirectX]] 9. | ||
Line 26: | Line 28: | ||
: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. | :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. | ||
Other possible uses of <code>$lightwarptexture</code> include | ; <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]] | [[Category:List of Shader Parameters|L]] |
Revision as of 13:26, 8 March 2019
$lightwarptexture
is a material parameter that tints texels depending on their brightness. It can be thought of as localised color correction. It requires at least DirectX 9.


Todo: Test which games require phong. It is a requirement in CS:S
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 DOD 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 TF2 characters, not just Pyro. It creates the high-contrast shadows with red-tinged terminators typical of the illustrative art the game apes.
- Posterised
- 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.
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.