Что вызывает алиасинг?

47

Я всегда слышу о псевдонимах и сглаживаниях и знаю, как они выглядят, но я не понимаю, что их вызывает. Это физическое явление? Или числовой?

Если это поможет объяснить, у меня есть некоторые знания в области программирования, но не в видеоиграх или графике.

Kruncho
источник

Ответы:

60

Это физические явления? или числовой?

Этот вопрос подразумевает, что вы на самом деле не знаете, что означает псевдоним / сглаживание. Я имею в виду, вы говорите, что «знаете, как это выглядит», но если бы вы на самом деле знали, что означают эти термины, вы, вероятно, поняли бы, что ваш вопрос бессмысленный. Псевдоним является побочным эффектом визуализации компьютерной графики, а компьютерная графика в значительной степени является физическим явлением.

«Псевдоним» означает просто ступенчатый взгляд на наклонные линии, потому что компьютерная графика на самом деле состоит из множества крошечных квадратов в сетке. Вот изображение, иллюстрирующее то, о чем я говорю: введите описание изображения здесь

Это проблема, когда вы визуализируете пиксели на изображении, независимо от того, рисуете ли вы от руки или пишете алгоритм для вычисления пикселей для трехмерного многоугольника. Это просто побочный эффект того факта, что изображение представляет собой квадратную сетку пикселей. «Сглаживание» - это когда вы маскируете ступенчатый вид, смешивая цвета вместе по краям пикселей.

jhocking
источник
18
@Kruncho Никогда не сожалейте о том, что ошибаетесь, если только вы не учите других своим ошибкам! Только извините, если вы не пытаетесь понять или не хотите исправляться. Ваша ошибка на самом деле помогла выяснить, о чем именно вы спрашивали: («как» происходит алиасинг в компьютерной графике?). Между прочим, хотя этот ответ лучше всего иллюстрирует, что, как и почему, это численный вопрос. Вы можете думать об этом как об ограничении попыток представлять дробные числа, используя только целые числа. Там нет половины пикселей и т. Д. Таким образом, вы получите блочные изображения.
Нечеткая логика
5
@jhocking Педантичная коррекция: прямоугольность пикселей на самом деле не имеет значения. Псевдоним произошел бы точно так же, если бы каждый пиксель был круглыми точками одинакового размера.
Нечеткая логика
10
@jhocking "Квадратная сетка" тоже не поможет. Вы бы все равно получали псевдонимы (выглядели немного иначе), если бы ваши пиксели были расположены в шестиугольной сетке. Все, что имеет значение, - это то, что пиксели расположены по регулярному шаблону и имеют ненулевой размер, и оба эти условия справедливы для любой мыслимой технологии отображения.
Майк Скотт
3
Вы зацикливаетесь на слове «квадрат», когда это просто дескриптор «сетки».
Джоккинг
11
@MikeScott: даже с нерегулярно расположенными пикселями будет отображаться псевдоним. :))) Важным условием появления псевдонимов является то, что максимальная частота исходного сигнала (исходного изображения) превышает 2 * (1 / T) (где T - интервал между выборками = расстояние между пикселями ). --- Когда исходное изображение имеет острые края (например, черная линия на белом фоне), его максимальная частота равна бесконечности.
Пабук
121

Принятый ответ не является строго правильным, хотя он касается наиболее распространенного использования в компьютерной графике. Псевдоним является фундаментальной концепцией обработки сигналов, и математическая теория его предшествует компьютерным дисплеям. Также не совсем верно, что «это побочный эффект того факта, что пиксели квадратные». Псевдоним существует всякий раз, когда вы дискретно дискретизируете сигнал со скоростью ниже частоты Найквиста для этого сигнала и влияют на цифровой звук, а также на изображения и многие другие типы дискретно дискретизированных сигналов. Псевдоним в компьютерной графике является побочным эффектом дискретной выборки, а не формы пикселей.

Сглаживание в компьютерной графике - это глубокая и сложная тема, и в ней есть гораздо больше, чем просто сглаживание. Опять же, есть много лежащих в основе теории от обработки сигналов, и это активная область исследований в компьютерной графике, как эффективно сглаживать, не только для краев, но и для временного алиасинга, для алиасинга при восстановлении BRDF в пиксельных шейдерах, для тени края и во многих других областях. Мип-отображение текстур в трехмерной графике является хорошо отработанным методом сглаживания, который, например, решает важную проблему, помимо краевого сглаживания.

Это действительно математическое явление, а не физическое явление, но оно проявляется в технике во многих областях, помимо компьютерной графики. Я бы на самом деле не описал это как числовое явление - это результат дискретной выборки, а не дискретного представления числовых значений на компьютере, хотя это также может вызывать эффекты сглаживания. Понимание основ обработки сигналов является хорошей основой для понимания того, как наложение проявляется в компьютерной графике, и для понимания того, как его уменьшить.

mattnewport
источник
6
С одной стороны, эй, я узнал что-то новое сегодня, никогда не слышал о псевдонимах ни в каком контексте, кроме графических границ. Тем не менее, эта дополнительная техническая деталь, похоже, не противоречит объяснению «это побочный эффект того факта, что пиксели квадратные». «Дискретная выборка» - это просто причудливый способ сказать, что «край - это фактически набор дискретных пикселей, а не непрерывная линия».
Джоккинг
15
+1 за техническую правильность. Хотя немного слишком технически, учитывая уровень задаваемого вопроса и фактически не затрагивает подразумеваемый вопрос. Принятый ответ больше соответствует смыслу вопроса. Хотя я узнал что-то новое, так что спасибо за разработку :)
Fuzzy Logic
6
@ jhocking извините, нам, графическим программистам, приходится немного разбираться в псевдонимах :). Я думаю, что ваш ответ решает вопрос, но если кто-то хочет углубиться в компьютерную графику, я думаю, что полезно понимать, что псевдонимы - это математические явления с куча теории за этим. Все эти технические детали пригодятся для конечной цели создания красивых картинок в наших играх :)
mattnewport
4
@jhocking Дело в том, что не имеет значения, какую форму имеют пиксели - поэтому это не побочный эффект того факта, что пиксели являются квадратными , это побочный эффект того факта, что пиксели не меняют цвет по сравнению с их степени. И вообще, пиксель - это не маленький квадрат .
Даниэль Вагнер
1
В вашем ответе отсутствуют картинки, иначе он точно будет принятым. Помимо примера сглаживания края, ему необходимы: 1) анимационный GIF колес автомобиля, вращающихся по часовой стрелке и внезапно останавливающихся и меняющих направление. 2) 3D шахматная доска (вы знаете, что собирается в бесконечность) ... Я также изучал обработку сигналов.
MartinTeeVarga
68

В дополнение к двум другим ответам, здесь приведено более интуитивное объяснение того, что происходит.

Псевдоним в 2D-многоугольнике

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

Чтобы ответить на ваш вопрос, это числовое / математическое явление, потому что информация об исходной форме теряется из-за приближения.

Сглаживание

Сглаживание - это когда рендеринг пытается исправить алиасинг, делая частично покрытые пиксели менее интенсивными.

aebabis
источник
5
Вот первый ответ, который действительно объясняет, что происходит. Отлично сработано.
Беска
1
«сделать частично покрытые пиксели менее интенсивными» не совсем так, как я понимаю. Я полагаю, что большинство алгоритмов сглаживания применяют фильтр низких частот (такой же, как фильтр размытия), иногда по всему визуализированному кадру (как с FXAA), или более интеллектуальные алгоритмы выполняют его только через границы границ. MSAA делает это по-другому, но общий эффект остается эффектом ФНЧ через жесткие границы.
Лука
1
@ Люк, я не собирался, чтобы последний абзац был объяснением того, как все работает; это просто описание результатов сглаживания. «Интенсивный» не правильный термин для использования, но он применяется, когда сглаживание выполняется для фигуры, цвет которой более интенсивен, чем фон. Это все, что я говорил.
aebabis
3

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

user70164
источник