Анти Алиасинг (Anti Aliasing)


Алиасингром называют две слегка разные вещи. Эффект ступенчатости (проявляется на границах поверхностей) и эффект неприятного дрожания текстур на больших дистанциях от камеры, если смотреть вдоль поверхности. Оба эффекта возникают из-за недостаточной точности. Но точности чего? Ответ: точности рассчета цвета пиксела по одному лучу. Дело в том, что пиксел на самом деле имеет размер. И в реальности, мы должны аппроксимировать пиксел не лучем, проходящим через его центр, а усеченной пирамидой, ребра которой проходят через углы пиксела (эти ребра не входят в основание пирамиды). Можно сказать, то алиасинг проявляется тогда, когд размер деталей (будь то текстуры или просто мелкие объекты) сопоставимы с размером пиксела. То есть на самом деле неприятное дрожание будет не только в случае с текстурами, но и в случае, скажем с большим количеством мелких шариков, уходящих за горизонт.

Простое решение - испускать больше чем одлин луч на пиксел, а результаты усреднять. На рисунках показано, как улучшается качество при увеличении количества лучей на пиксел и соответственно падает производительность.

1 луч на пиксел

4 луча на пиксел

16 лучей на пиксел

64 луча на пиксел

Существуют и другие решения. Во-первых, можно испускать больше лучей не для всех пикселей, а только для некоторых - в местах проявления алиасинга. То есть сделать антиалиасинг адаптивным.

Еще одним решением является мип маппинг для текстур - сохранение их уменьшенных копий и выборка из мип-мап уровня, номер которого зависит от дистанции до поверхности. В сочетании с трилинейной или анизотропной фильтраицей, можно избавиться от эффекта дрожания. К сожалению, по крайней мере что касается трилиненой фильтрайи, легко реализуемой в случае трассировки лучей, дрожание на заднем плане сменится на "мыло". Зато сохранится скорость.




<< Вернуться назад

Статьи и обзоры

Поиск пересечений

Обратная трассировка лучей

Быстрая трассировка лучей

Индустриальная основа

Фотореалистичная визуализация

GPU ray tracing

Сферические гармоники

Дружественные проекты:

OpenSource RTRT

Siberian renderer

Наши разработки

Hydra renderer

AdaRT

Публикации

Загрузить

Скриншоты и видео

ССЫЛКИ

© Copyright 2007 Владимир Фролов, Александр Фролов

При поддержке Лаборатории компьтерной графики и мультимедия ф-та ВМК МГУ
Создание сайта: Александр Фролов