$alphatest: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
SirYodaJedi (talk | contribs) |
||
Line 20: | Line 20: | ||
: {{Tip|For [[VertexLitGeneric|VertexLitGeneric]] on models you can use <code>[[$detail]]</code> with <code>$detailblendmode 3</code> and modifying the <code>$detailblendfactor</code> value. Detail texture must be a copy of <code>[[$basetexture]]</code> with a different alpha channel.}}}} | : {{Tip|For [[VertexLitGeneric|VertexLitGeneric]] on models you can use <code>[[$detail]]</code> with <code>$detailblendmode 3</code> and modifying the <code>$detailblendfactor</code> value. Detail texture must be a copy of <code>[[$basetexture]]</code> with a different alpha channel.}}}} | ||
{{MatParam|$allowalphatocoverage|bool|Creates translucent steps based on alpha values. Can be used for softer edges. This parameter is incompatible with <code>$alphatestreference</code>. | {{MatParam|$allowalphatocoverage|bool|Creates translucent steps based on alpha values. Can be used for softer edges. This parameter is incompatible with <code>$alphatestreference</code>. | ||
: {{warning|MSAA must be enabled in order for this to have 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 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.}} }} | ||
==Comparison== | ==Comparison== |
Revision as of 20:56, 7 December 2023
$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
$alphatestreference
$allowalphatocoverage
Comparison
$translucent |
$alphatest
|
---|---|
Notice how the $alphatest
right circle hardly changes.