Difference between revisions of "$alphatest"
NvC DmN CH (talk | contribs) m |
Deprecated (talk | contribs) (Changed to use Shaderparam and MatParam templates, misc fixes) |
||
Line 1: | Line 1: | ||
− | + | {{Shaderparam|$alphatest}} It specifies a mask to use to determine binary opacity. White represents fully opaque, while black represents fully transparent. Any values in-between are rounded to either 0 or 1. This effect is similar to {{ent|$translucent}}, except that it can not be semi-opaque, is much faster to render, and the engine can sort it properly when layered. | |
− | |||
− | |||
− | |||
==VMT syntax example== | ==VMT syntax example== | ||
Line 19: | Line 16: | ||
==Additional parameters== | ==Additional parameters== | ||
− | + | {{MatParam|$alphatestreference|float|Specifies the minimum color value of the alpha channel in which the effect is rounded to 255. A value of ".3" will create a thicker shape while a value of ".7" will create a thinner shape. | |
− | + | : {{bug|<code>$alphatestreference</code> cannot be updated in real time with [[Material_proxies|proxies]].}}}} | |
− | + | {{MatParam|$allowalphatocoverage|bool|Creates transparent steps based on alpha values. Can be used for softer edges. This parameter is incompatible with <code>$alphatestreference</code>. | |
− | + | : {{note|MSAA must be enabled in order for this to have effect.}}}} | |
− | |||
− | {{note|MSAA must be enabled in order for this to have effect.}} | ||
==Comparison with $translucent== | ==Comparison with $translucent== | ||
Line 34: | Line 29: | ||
|} | |} | ||
Notice how the right circle hardly changes. | Notice how the right circle hardly changes. | ||
− | |||
− | |||
== See also == | == See also == |
Revision as of 10:39, 26 June 2019
$alphatest
is a material shader parameter available in all Source games. It specifies a mask to use to determine binary opacity. White represents fully opaque, while black represents fully transparent. Any values in-between are rounded to either 0 or 1. This effect is similar to $translucent
, except that it can not be semi-opaque, is much faster to render, and the engine can sort it properly when layered.
VMT syntax example
$alphatest <bool>
LightmappedGeneric { $basetexture glass\window001a $alphatest 1 $alphatestreference .5 $allowalphatocoverage 1 }
Additional parameters
$alphatestreference
<float>
- Specifies the minimum color value of the alpha channel in which the effect is rounded to 255. A value of ".3" will create a thicker shape while a value of ".7" will create a thinner shape.
Bug:
$alphatestreference
cannot be updated in real time with proxies.$allowalphatocoverage
<boolean>
- Creates transparent steps based on alpha values. Can be used for softer edges. This parameter is incompatible with
$alphatestreference
. Note: MSAA must be enabled in order for this to have effect.
Comparison with $translucent
$translucent | $alphatest |
---|---|
Notice how the right circle hardly changes.
See also
$alpha
, for texture-wide translucency$distancealpha
, for vector-like alpha edges$translucent