Комментарии 12
Хороший обзор. Одно замечание — существуют не только ортогональные 2Д решетки, на которые дискретизируются линии и полигоны. Есть устройства с вокселами и, например, гексогональными пикселами.
Кстати, автор первой ссылки — Александр Решетов (кличка Решето) — выпускник МФТИ, мы с ним в Интел в 1996-2000 году 3Д библиотеку лабали.
Кстати, автор первой ссылки — Александр Решетов (кличка Решето) — выпускник МФТИ, мы с ним в Интел в 1996-2000 году 3Д библиотеку лабали.
Спасибо за перевод. А нету ли в современном железе аналога CSAA, только чтобы вместо кучи сэмплов рассчитывало одно единственное число перекрытости пикселя треугольником? Для векторной графики это было бы идеально, глубина тут не нужна.
Даже кроме теоретической части как какой тип работает — получился отличный справочник как какой тип ВЫГЛЯДИТ.
Насчёт будущего. Что вы скажите про необходимость АА в разрешении 4к+?
4К 4К рознь, на достаточно большом экране и при 4К будут прекрасно видны все артефакты, тут от плотности пикселей исключительно зависит. Но чаще всего алиасинг прекрасно заметен даже на современных мобильных устройствах, у которых плотность пикселей просто огромная, так что тема антиалиасинга себя не изжила.
Собственно, будущее уже наступило. В этом поколении во главе комбинированные техники. В основном временная реконструкция с каким-то аналитическим. Дает удивительные результаты.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо, интересно. Пара «претензий».
В оригинале картинки находятся в одном месте и меняются кликом на ссылках ниже, очень удобно сравнивать. Вываленные друг за другом картинки здесь не очень удобно сравнивать, гифка — так себе заменитель, на хабре чтоли технически нельзя добиться того же, что в и оригинале? Возможно имело смысл вообще не постить картинки, только гифки, и подставить ссылки на оригинал? Или это заодно и печатная версия? У оригинала кстате дебильная навигация выпадающим списком, в этом смысле на хабре текст читается приятнее.
В оригинале картинки находятся в одном месте и меняются кликом на ссылках ниже, очень удобно сравнивать. Вываленные друг за другом картинки здесь не очень удобно сравнивать, гифка — так себе заменитель, на хабре чтоли технически нельзя добиться того же, что в и оригинале? Возможно имело смысл вообще не постить картинки, только гифки, и подставить ссылки на оригинал? Или это заодно и печатная версия? У оригинала кстате дебильная навигация выпадающим списком, в этом смысле на хабре текст читается приятнее.
… Алиасинг прозрачности возникает… типом геометрического алиасинга, подпиксельный алиасинг…Возможно это только у меня глаза спотыкаются, при чтении «русифицированных» таким образом терминов в разных падежах? Я бы оставил aliasing, anti-aliasing в тексте, просто при первом упоминание термина добавил бы в скобочках перевод, сравните
(оригинал) Transparency aliasing, on the other hand, happens within textured primitives that are partially transparent.Мне лично такой вариант кажется более естественным, но возможно я слишком долго живу за рубежом? Покритикуйте.
(перевод) Алиасинг прозрачности возникает в текстурированных примитивах с частичной прозрачностью.
(вариант) Transparency aliasing (ступенчатость при прозрачности), с другой стороны, проявляется при использовании текстур с прозрачностью.
Мда, термин алиасинг стали некорректно использовать…
Ни Transparency Aliasing, ни Geometry Aliasing (2D) (за исключением окрестности центра круга), ни Geometry Aliasing (3D), ни Shader Aliasing, на самом деле алиасингом не являются. Точнее могут являться, если отдалить изображения подальше.
«Лесенка» не является алиасингом и это совершенно нормальное явление в теории обработки сигналов. Чтобы появился алиасинг, надо, чтобы исходном сигнале появились частоты выше половины частоты семплирования. В нашем случае это означает наличие фич, размером меньше, чем два пикселя.
Ни Transparency Aliasing, ни Geometry Aliasing (2D) (за исключением окрестности центра круга), ни Geometry Aliasing (3D), ни Shader Aliasing, на самом деле алиасингом не являются. Точнее могут являться, если отдалить изображения подальше.
«Лесенка» не является алиасингом и это совершенно нормальное явление в теории обработки сигналов. Чтобы появился алиасинг, надо, чтобы исходном сигнале появились частоты выше половины частоты семплирования. В нашем случае это означает наличие фич, размером меньше, чем два пикселя.
По поводу невозможности получения рисунка 1-4 из рисунка 1 осталось непонятным «почему?». % наложения треугольника на пиксел понятен и легко вычисляем (ровно также как и для случая 50/50 красить или не красить). Далее, для ускорения создаём из этих данных массив сразу по всем точкам изображения, требующим подобной edge-АА обработки и применяем сразу ко всему массиву следующую единственную формулу: % наложения треугольника на пиксел делим на 100% и умножаем на 256 (это число градаций серого от полного черного к полному белому по схеме 32 бит на цвет для нашего чёрно-белого случая) и получаем номер (дробную часть отбрасываем) градации серого для каждого конкретного пиксела, в который его нужно покрасить. Всё. Или я что-то упустил?
Очень хорошо написана статья, читать одно удовольствие, за такие статьи хочется отдельно спасибо сказать!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Алгоритмы антиалиасинга в реальном времени