$alphatest
$alphatest is a material shader parameter avaliable 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.
Syntax
$alphatest <bool>
VMT example
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: $alphatestreferencecannot be updated in real time with proxies.
Tip: This limitation can be circumvented by using $alphatestreference 1, and modifying the $alphavalue instead. (requires $alpha to be raised above 1, its normal threshold, this may cause sorting issues)$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
$translucent |
$alphatest
|
|---|---|
Notice how the $alphatest right circle hardly changes.