$alphatest: Difference between revisions

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


==Comparison with <code>$translucent</code>==
==Comparison with <code>$translucent</code>==
 
<div>
{|class=wikitable
{|class=wikitable
! <code>$translucent</code>||<code>$alphatest</code>
! <code>$translucent</code>||<code>$alphatest</code>
|-
|-
| <div>[[File:Alphatest_preview_original.png|thumb|50%|center|Original image, rendered with $translucent]] || [[File:Alphatest_preview.gif|thumb|50%|center|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]] </div>
| [[File:Alphatest_preview_original.png|thumb|50%|center|Original image, rendered with $translucent]] || [[File:Alphatest_preview.gif|thumb|50%|center|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]]
|}
|}
</div>
Notice how the right circle hardly changes.
Notice how the right circle hardly changes.



Revision as of 23:39, 6 June 2021

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.

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