Наша-Life

FSAA в Half-Life 2
Half-Life 2 / Разное
Дата: 26 Июл, 2003 г. - 11:24

Гейб Ньювелл (Gabe Newell) вчера поместил сообщение на форуме HalfLife2.net, в котором он объясняет ситуацию с FSAA в Half-Life 2. По его словам, Valve близка к решению проблемы, и FSAA будет работать как на видеокартах ATI, так и nVidia. Хотя некоторые сомневаются в том, что это на самом деле написал Гейб, сообщение выглядит довольно достоверно.
"Так как очень много людей паникуют по поводу проблем с полноэкранным сглаживанием, я подумал что стоит посвятить всех в суть дела.
<H5>1. Насколько серьезна эта проблема?</H5>

Multi-sample anti-aliasing в его настоящем исполнении приводит к отображению текселов (текстурированных пикселов) вне границ соответствующего многоугольника, что может также в некоторых ситуациях приводить к отображению освещения от других многоугольников.


Это традиционно являлось проблемой. Аналогичные проблемы есть в Quake 1, Quake 2, Quake 3, Daikatana, Sin, Elite Force, Half-Life, Counter-Strike на X-Box, и вообще в любой игре использующей упакованные карты освещения.


Эти артефакты можно заметить на границах многоугольников. Так как по краю отображается "неправильная" карта освещения, будет видна тонкая темная или светлая линия.


Gary McTaggart первым привлек внимание к этой проблеме, так как он сильно беспокоится о качестве графики. Эта проблема не нова. Если Вы пробовали играть в игры использующие карты освещения с FSAA, Вы наверняка видели эти артефакты.


Артефакты FSAA показываются чаще в Half-Life 2 потому, что мы убрали большинство прочих артефактов, и потому, что в наших картах есть значительный контраст освещенности.


В целом, это не самая серьезная проблема. Например, отсутствие трёхлинейной фильтрации на мипмапах гораздо серьезнее.


<H5>2. Каковы потенциальные решения проблемы?</H5>
  • Поддержка centroid sampling

  • Использование пиксельных шейдеров для того, чтобы "зафиксировать" координаты текстур

У метода centroid sampling нет тех проблем, которые есть у метода center sampling при FSAA. Этот метод сглаживания поддерживается видеокартами ATI Radeon 9000 серии. У этого решения есть недостатки. Во-первых, к этим методам нет простого доступа через DirectX. А во-вторых, карты nVidia не поддерживают этот метод. Для этих карт мы можем использовать другой трюк. Мы можем пожертвовать частью пропускной способности пиксельного шейдера с целью "блокирования" текстур. Тогда они не будут вылезать за границы многоугольников. В целом, при использовании этих решений, FSAA не будет проблемой на видеокартах, поддерживающих Pixel Shader 2.0.


<H5>3. Как это будет выглядеть?</H5>

Мы выпустим две версии одного из наших демо-роликов с использованием FSAA: с артефактами, и с нашим исправленным кодом. Вы сможете сравнить их самостоятельно."



Эта новость опубликована на сайте Наша-Life
http://www.nashalife.ru/

URL этой новости:
http://www.nashalife.ru/news-article2686.html