Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

$alphatest

From Valve Developer Community
< Ru
Jump to: navigation, search
English (en)Español (es)Русский (ru)Translate (Translate)

$alphatest - это материальный(en) параметр шейдера(en), доступно для всех игр на движке Source Source. Он определяет маску, используемую для определения непрозрачности двоичного файла. Белый представляет собой полностью непрозрачный, а чёрный — полностью прозрачный. Любые промежуточные значения округляются до 0 или 1. Этот эффект похож на $translucent(en), за исключением того, что он не может быть полупрозрачным, его рендеринг выполняется намного быстрее, и движок может правильно сортировать его при наложении слоёв.

Синтаксис

$alphatest	<bool(en)>

VMT пример

LightmappedGeneric(en)
{
	$basetexture(en)		"glass\window001a"

	$alphatest		1

	$alphatestreference	.5

	$allowalphatocoverage	1
}

Доп. параметры

$alphatestreference <float(en)>

Задаёт минимальное значение цвета альфа-канала, в котором эффект округляется до 255. Значение «.3» создаст более толстую форму, а значение «.7» создаст более тонкую форму.
Icon-Bug.pngБаг:$alphatestreference не может обновляться в реальном времени с помощью прокси(en).  [todo tested in?]
Tip.pngСовет:Это ограничение можно обойти, используя «$alphatestreference 1», и изменив значение $alpha(en) (требуется, чтобы значение $alpha было выше 1, но это может вызвать проблемы с сортировкой).

$allowalphatocoverage <boolean(en)>

Создаёт прозрачные шаги на основе альфа-значений. Может использоваться для получения более мягких краёв. Этот параметр несовместим с $alphatestreference.
Note.pngПримечание:Для работы этого параметра необходимо включить MSAA.

Сравнение

$translucent $alphatest
Оригинальное изображение, обработанное с помощью $translucent
Анимированные превью того же изображения, но с $alphatest. Первый кадр показывает эффект «$allowalphatocoverage 1». Остальные показывают $alphatest с $alphatestreference в диапазоне от 0.1 до 0.9

Обратите внимание, как правый круг у $alphatest почти не меняется.

См. также