$alphatest: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
Line 3: Line 3:


==Syntax==
==Syntax==
'''$alphatest <[[Boolean|bool]]>'''
{{CodeBlock|$alphatest <[[Boolean|bool]]>}}


==VMT example==
==VMT example==
[[LightmappedGeneric]]
{{CodeBlock|lines=7|[[LightmappedGeneric]]<nowiki>
{
{
[[$basetexture]] "glass\window001a"
</nowiki>[[$basetexture]]<nowiki> "glass\window001a"
$alphatest 1
'''$alphatest 1'''
$alphatestreference .5
$allowalphatocoverage 1
'''$alphatestreference .5'''
}</nowiki>}}
'''$allowalphatocoverage 1'''
}


==Additional parameters==
==Additional parameters==

Revision as of 15:43, 19 February 2023

English (en)Español (es)Русский (ru)中文 (zh)Translate (Translate)

$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

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
LightmappedGeneric { $basetexture "glass\window001a" $alphatest 1 $alphatestreference .5 $allowalphatocoverage 1 }

Additional parameters

$alphatestreference $allowalphatocoverage

Comparison

$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 $alphatest right circle hardly changes.

See also