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

Ru/$alphatest: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
mNo edit summary
m (Multipage removal)
 
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{lang|$alphatest|title=<code>$alphatest</code>}}
{{LanguageBar|title=$alphatest}}
'''<code style="color:white">$alphatest</code>'''- это параметр [[Shader:ru|шейдера]] [[Material:ru|материала]] доступного во всех [[Source:ru|Source]] играх. Он определяет маску, используемую для определения непрозрачности двоичного файла. Белый представляет собой полностью непрозрачный, а чёрный - полностью прозрачный. Любые промежуточные значения округляются до 0 или 1. Этот эффект похож на <code>[[$translucent:ru|$translucent]]</code>, за исключением того, что он не может быть полупрозрачным, его рендеринг выполняется намного быстрее, и движок может правильно сортировать его при наложении слоёв.


==Синтаксис==
{{this is a|shader parameter|name=$alphatest}} Он определяет маску, используемую для определения непрозрачности двоичного файла. Белый представляет собой полностью непрозрачный, а чёрный — полностью прозрачный. Любые промежуточные значения округляются до 0 или 1. Этот эффект похож на <code>{{L|$translucent}}</code>, за исключением того, что он не может быть полупрозрачным, его рендеринг выполняется намного быстрее, и движок может правильно сортировать его при наложении слоёв.
'''$alphatest <[[Boolean:ru|bool]]>'''


==VMT пример==
== Синтаксис ==
  [[LightmappedGeneric:ru|LightmappedGeneric]]
'''$alphatest <{{L|Boolean|bool}}>'''
 
== VMT пример ==
  {{L|LightmappedGeneric}}
  {
  {
  [[$basetexture:ru|$basetexture]] "glass\window001a"
  {{L|$basetexture}} "glass\window001a"
   
   
  '''$alphatest 1'''
  '''$alphatest 1'''
   
   
  '''$alphatestreference .5'''
  '''[[#Доп. параметры|$alphatestreference]] .5'''
   
   
  '''$allowalphatocoverage 1'''
  '''[[#Доп. параметры|$allowalphatocoverage]] 1'''
  }
  }


==Доп. параметры==
== Доп. параметры ==
'''<code>$alphatestreference <[[float:ru|float]]></code>'''
'''<code>$alphatestreference <{{L|float}}></code>'''
: Задаёт минимальное значение цвета альфа-канала, в котором эффект округляется до 255. Значение ".3" создаст более толстую форму, а значение ".7" создаст более тонкую форму.
: Задаёт минимальное значение цвета альфа-канала, в котором эффект округляется до 255. Значение «.создаст более толстую форму, а значение «.создаст более тонкую форму.
: {{bug:ru|<code>$alphatestreference</code> не может обновляться в реальном времени с помощью [[Material_proxies:ru|прокси]].}}
: {{Bug|<code>$alphatestreference</code> не может обновляться в реальном времени с помощью {{L|Material proxies|прокси}}.}}
: {{Tip:ru|Это ограничение можно обойти, используя <code>$alphatestreference 1</code>, и изменив значение <code>[[$alpha:ru|$alpha]]</code> (требуется, чтобы значение <code>$alpha</code> было выше 1, но это может вызвать проблемы с сортировкой).}}
:: {{Tip|Это ограничение можно обойти, используя <code>«$alphatestreference </code>, и изменив значение <code>{{L|$alpha}}</code> (требуется, чтобы значение <code>$alpha</code> было выше 1, но это может вызвать проблемы с сортировкой).}}
'''<code>$allowalphatocoverage <[[boolean:ru|boolean]]></code>'''
'''<code>$allowalphatocoverage <{{L|boolean}}></code>'''
: Создаёт прозрачные шаги на основе альфа-значений. Может использоваться для получения более мягких краёв. Этот параметр несовместим с <code>$alphatestreference</code>.
: Создаёт прозрачные шаги на основе альфа-значений. Может использоваться для получения более мягких краёв. Этот параметр несовместим с <code>$alphatestreference</code>.
: {{note:ru|Для работы этого параметра необходимо включить MSAA.}}
: {{Note|Для работы этого параметра необходимо включить MSAA.}}


==Сравнение==
== Сравнение ==
<div>
<div>
{|class=wikitable
{|class=wikitable
! <code>$translucent</code>||<code>$alphatest</code>
! <code>$translucent</code>||<code>$alphatest</code>
|-
|-
| [[File:Alphatest_preview_original.png|thumb|50%|center|Оригинальное изображение, обработанное с помощью $translucent]] || [[File:Alphatest_preview.gif|thumb|50%|center|Анимированные превью того же изображения, но с $alphatest. Первый кадр показывает эффект $allowalphatocoverage 1. Остальные показывают $alphatest с $alphatestreference в диапазоне от 0.1 до 0.9]]
| [[File:Alphatest_preview_original.png|thumb|50%|center|Оригинальное изображение, обработанное с помощью $translucent]] || [[File:Alphatest_preview.gif|thumb|50%|center|Анимированные превью того же изображения, но с $alphatest. Первый кадр показывает эффект «$allowalphatocoverage . Остальные показывают $alphatest с $alphatestreference в диапазоне от 0.1 до 0.9]]
|}
|}
</div>
</div>
Line 37: Line 38:


==См. также==
==См. также==
*<code>[[$alpha:ru|$alpha]]</code>
*<code>{{L|$alpha}}</code>
*<code>[[$distancealpha:ru|$distancealpha]]</code>
*<code>{{L|$distancealpha}}</code>
*<code>[[$vertexalpha:ru|$vertexalpha]]</code>
*<code>{{L|$vertexalpha}}</code>


[[Category:List of Shader Parameters:ru|A]]
{{ACategory|Shader parameters|alphatest}}
[[Category:Glossary:ru]]

Latest revision as of 02:30, 12 July 2024

English (en)Español (es)Русский (ru)中文 (zh)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).  [нужно проверить в ?]
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 почти не меняется.

См. также