Как работает суперсэмплинг-сглаживание?

Как работает суперсэмплинг-сглаживание?

Из чтения в Интернете я понял основную идею работы суперсэмплинга и сглаживания: он визуализирует сцену с более высоким разрешением, чем разрешение дисплея пользователя, использует дополнительные пиксели для вычисления среднего значения, а затем выполняет его субдискретизацию.

Я не совсем понимаю, как это работает на практике. Например, если есть красный пиксель стены рядом с синим пикселем неба, когда сцена рендерится x2 SSAA, не будет ли один красный пиксель теперь просто четырьмя красными пикселями и то же самое с пикселем синего неба, как это поможет при вычислении среднего.

Накладываются ли четыре новых красных пикселя на исходное изображение, чтобы получить смесь красных и синих пикселей и иметь возможность вычислить среднее значение, чтобы сгладить переход между стеной и небом?

Любая помощь будет оценена по достоинству.

решение1

Это очень помогает. В вашем исходном примере:

... Красный Красный Красный Синий Синий Синий ...

Граница между красным и синим выглядит как лестница.

В передискретизированном изображении

... Красный Красный Красный Красный Синий Синий Синий ...

По мере того, как мы уменьшаем выборку

... Красный] [Красный Красный] [Красный Синий] [Синий Синий] [Синий ...

Теперь у нас есть один пиксель, который является усредненным красным и синим, размывая границу между красной и синей областями.

Если представить себе диагональную границу между двумя областями, красной и синей, то избыточная выборка вставит промежуточные пиксели на краях ступенек, поскольку многие из ячеек 2x2 обязательно включают в себя как красные, так и синие пиксели.

введите описание изображения здесь

решение2

Хорошо, я попытаюсь объяснить это, поскольку я уже применял подобные методы при работе с фотографиями, чтобы применить некоторые алгоритмы «сглаживания» к фотографиям или фотографиям с низким разрешением, не получая при этом очень глубокого сглаживания.

Это выглядит примерно так.

Вот ваши пиксели в обычном разрешении, в котором вы их просматриваете. Крайне необходимо сглаживание или устранение неровностей.
псевдоним

С одной стороны, здесь мы увеличили изображение до 4X, а затем применили тот же алгоритм сглаживания. высокий и низкий

Важно отметить, что как глупый компьютер, я не могу просто согнуть черное до белого (изменяя количество белизны), но также должен согнуть белое до черного (уравновешивая уравнение :-). Я применяю математическую матрицу вслепую там, где мне сказали ее применить. Хотя алгоритмы видеокарты очень сложны, и на самом деле они не настолько слепы, как этот.

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

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

На стороне низкого разрешения у нас есть огромная обработанная/измененная область, поскольку мы согнули все эти пиксели по направлению друг к другу (и черные, и белые), и есть огромная полоса сглаживания, поскольку мы работали только с низким разрешением.

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

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

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

Связанный контент