Modulate: Difference between revisions
No edit summary |
No edit summary |
||
(22 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{Source topicon}} {{lang}} | ||
[[File:Modulate img.gif|thumb|300px|GIF Animation showing "Modulate" shader in action.]] | |||
{{this is a|pixel shader|name=Modulate}} It modulates the colors of any pixels behind it. | |||
By default, it acts like the "multiply" layer mode in image editors, where full white (#FFFFFF) means no modulation, and darker values will darken what's underneath. If {{code|$mod2x}} is used, it acts like the "overlay" layer mode instead, where 50% grey (#7F7F7F or #808080) means no modulation, and lighter or darker values will lighten or darken what's underneath respectively. | |||
A practical application of this shader is to create [[env_tonemap_controller|bloom-boosting]] textures, to create fake eye adaptation inside interiors. | |||
Other uses include faking various features that [[Source]] may not support, such as vertex coloring or [[lightmap]]ping on models, by creating a surface above the first one to modulate it. | |||
==Description== | ==Description== | ||
[[File:Mod2x bloom.jpg|thumb|300px|Comparison of bloom boosting with $mod2x 1 + white basetexture and without]] | |||
[[File:Mod2x_comparison.png|thumb|300px|Picture showing the difference between $mod2x 0 and 1.]] | |||
Accepts only the following parameters: | |||
{{ | {{MatParamDef|$basetexture|texture|Modulates the color behind it with this surface's texture.}} | ||
{{MatParamDef|$mod2x|boolean|Use [[DecalModulate]] blending instead of multiplication. | |||
:{{codenote|Standard multiplication is equivalent to a BlendFunc of [DestinationColor,Zero], and Mod2x is equivalent to a BlendFunc of [DestinationColor, SourceColor]}} }} | |||
{{MatParamDef|$nocull|boolean|Apply effect from through both sides of the polygon, instead of only through the front.}} | |||
{{note|Does not accept any translucency parameters, including [[$alpha]], [[$alphatest]], [[$additive]] and [[$translucent]].}} | |||
==See also== | ==See also== | ||
*{{ent|Refract}} | *{{ent|Refract}} | ||
*<code>[[Water (shader)|Water]]</code> | *<code>[[Water (shader)|Water]]</code> | ||
Latest revision as of 11:47, 23 August 2025


Modulate
is a Pixel shader available in all Source games. It modulates the colors of any pixels behind it.
By default, it acts like the "multiply" layer mode in image editors, where full white (#FFFFFF) means no modulation, and darker values will darken what's underneath. If $mod2x is used, it acts like the "overlay" layer mode instead, where 50% grey (#7F7F7F or #808080) means no modulation, and lighter or darker values will lighten or darken what's underneath respectively.
A practical application of this shader is to create bloom-boosting textures, to create fake eye adaptation inside interiors. Other uses include faking various features that Source may not support, such as vertex coloring or lightmapping on models, by creating a surface above the first one to modulate it.
Description
Accepts only the following parameters:
Code:Standard multiplication is equivalent to a BlendFunc of [DestinationColor,Zero], and Mod2x is equivalent to a BlendFunc of [DestinationColor, SourceColor]
