Полный антиалиасинг

Суперсэмплинг - наиболее популярный метод, применяемый в 3D-ускорителях (прежде всего из-за своей простоты). Каждый пиксел состоит из субпикселов, для каждого вычисляется цвет, а затем усреднением получается цвет пиксела. Конкретное представление пиксела называется субпиксельной маской (к примеру 2x2, 4x4). Чем больше субпикселов отводится на каждый пиксел, тем качественнее получается антиалиасинг. Маска 4x4 считается оптимальной с точки зрения качества, но при этом скорость заполнения снижается в 16 раз. С другой стороны, более простая маска обеспечивает более высокую скорость, но и менее качественное изображение. В любом случае суперсэмплинг снижает алиасинг, но кардинально не решает проблему.

Теоретически при суперсэмплинге субпиксельная маска может быть любой (к примеру при стохастическом суперсэмплинге субпикселы расположены в псевдо-случайном порядке). В 3D-ускорителях применяется регулярная маска размером от 2x1 до 4x4. Окончательный цвет пиксела вычисляется усреднением либо на основе весов, либо без них. К примеру для маски 3x3 центральный субпиксел должен иметь больший вес, чем угловые субпикселы, поэтому усреднение на основе весов имеет лучший результат.

Существует несколько реализаций суперсэмплинга:

· Выполняется рендеринг в большем разрешении, затем выполняется масштабирование до реального разрешения. Например при разрешении 800x600 и субпиксельной маске 2x2 рендеринг выполняется при виртуальном разрешении 1600x1200. Это требует вчетверо большего объема памяти. Эта методика стала стандартной в игровых 3D-ускорителях.

· Фреймбуфер делится на фрагменты (tiles). Каждый фрагмент рендерится в большем разрешении, соответствующему субпиксельной маске, а затем масштабируется до меньшего разрешения.

· Рендеринг выполняется в несколько проходов (для маски 2x2 - в 4 прохода). Каждый раз все координаты смещаются на некоторую дельту. Промежуточный результат хранится в буфере-акумуляторе, и результат каждого прохода суммируется с ним. Преимущество метода - нетребовательность к объему памяти (даже для маски 4x4 требуется объем памяти, как при обычном рендеринге без антиалиасинга). Метод применялся в некоторых профессиональных OpenGL-ускорителях.








Дата добавления: 2016-04-14; просмотров: 672;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.