$alphatest: Difference between revisions
Jump to navigation
Jump to search
ShiroDkxtro2 (talk | contribs) m (Some adiditonal Information for $AllowAlphaToCoverage, $alphatestreference can only be set in a shaders snapshot state. Not a bug!) |
Thunder4ik (talk | contribs) m (→Additional parameters: clean up, replaced: {{modernNote| → {{note|) |
||
Line 23: | Line 23: | ||
{{warning|MSAA must be enabled in order for this to have an effect.<br>The granularity of the steps is dependent on chosen amount of MSAA; 2x MSAA will have fewer translucent steps than 8x MSAA.}} | {{warning|MSAA must be enabled in order for this to have an effect.<br>The granularity of the steps is dependent on chosen amount of MSAA; 2x MSAA will have fewer translucent steps than 8x MSAA.}} | ||
{{modernImportant|Alpha to Coverage works best with when the alpha channels of mipmaps are sharpened in a specific way; {{vtex|4}} does this by default, {{VTFEdit|4}} does not.}} | {{modernImportant|Alpha to Coverage works best with when the alpha channels of mipmaps are sharpened in a specific way; {{vtex|4}} does this by default, {{VTFEdit|4}} does not.}} | ||
{{ | {{note| At maximum MSAA Level (Tested in {{src13|2}}) there are 7 transparency steps. ( 9 if you include fully Opaque and fully Transparent )<br> | ||
The levels should roughly be arranged as such:<br> | The levels should roughly be arranged as such:<br> | ||
<code>Linear : fully transparent - 0.06 - 0.18 - 0.31 - 0.43 - 0.56 - 0.68 - 0.81 - 0.93 - fully opaque</code><br> | <code>Linear : fully transparent - 0.06 - 0.18 - 0.31 - 0.43 - 0.56 - 0.68 - 0.81 - 0.93 - fully opaque</code><br> |
Revision as of 00:40, 4 January 2024
$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
VMT example
Additional parameters
Comparison
$translucent |
$alphatest
|
---|---|
Notice how the $alphatest
right circle hardly changes.