$alphatest: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
m (→‎See also: changed all transparency-related articles' see-also's to link oneanother)
Line 35: Line 35:
*<code>[[$alpha]]</code>, for texture-wide translucency
*<code>[[$alpha]]</code>, for texture-wide translucency
*<code>[[$distancealpha]]</code>, for vector-like alpha edges
*<code>[[$distancealpha]]</code>, for vector-like alpha edges
*<code>[[$translucent]]</code>
*<code>[[$vertexalpha]]</code>
*<code>[[$translucent]]</code>, for per-pixel opacity.


[[Category:List of Shader Parameters|T]]
[[Category:List of Shader Parameters|T]]

Revision as of 07:20, 7 April 2020

Template:Shaderparam 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 $allowalphatocoverage

Comparison with $translucent

$translucent $alphatest
Original image, rendered with $translucent
Animated preview of the same image, but with $alphatest. The first image shows the effect of $allowalphatocoverage 1. The rest show alphatest with $alphatestreference ranging from 0.1 to 0.9

Notice how the right circle hardly changes.

See also