Компания Intel опубликовала описание алгоритма морфологического сглаживания (MLAA), который предназначен для работы в реальном времени на CPU (демо, исходные коды).
Как и в случае с алгоритмом депикселизации графики в играх, который пару месяцев назад обсуждался на Хабре, алгоритм Intel не выполняет масштабирование изображения, а работает с пикселами в исходном разрешении. Они модифицируются по нескольким простым правилам, которые показаны на диаграмме.
Если вкратце, то фильтр MLAA ищет L-, Z- и U-образные границы пиксельных групп, после чего размывает окружающие пикселы для получения плавных очертаний.
Простота и работа на уровне исходных пикселов является главным достоинством MLAA. Не требуется сложная обработка и работа с альфа-каналом, здесь вообще нет ресурсоёмких процессов. Фильтр работает покадрово с уже отрендеренным изображением и его производительность можно чётко просчитать заранее. Она не зависит от сложности сцены, так что можно гарантировать отсутствие «подтормаживаний» в любой момент. На тестовой машине (см. график внизу) скорость MLAA составляет от 4 мс на кадре 1280 x 800 до 11 мс на кадре 1920 x 1200, независимо от сложности сцены.
Пожалуй, это вообще самый быстрый способ сглаживания, который может работать почти в реальном времени на изображениях большого размера без помощи GPU. Intel позиционирует MLAA как конкурента MSAA (Multisample anti-aliasing), на графике сравнивается их производительность.
Intel Core i7-2820QM: Sandy Bridge, 4 ядра, 8 потоков 2,3 ГГц, графика GT2, 4 ГБ RAM, Windows 7 Ultimate 64-bit SP 1
Эффективность MLAA видна на следующих изображениях: кадр из игры Battlefield: Bad Company 2 без сглаживания (первое изображение) и с включенным MLAA (второе изображение).
Вот увеличенный (500%) фрагмент первого и второго изображения.
Ещё более наглядный пример (спасибо, oxitnik).
via Hot Hardware, ExtremeTech, Intel
Как и в случае с алгоритмом депикселизации графики в играх, который пару месяцев назад обсуждался на Хабре, алгоритм Intel не выполняет масштабирование изображения, а работает с пикселами в исходном разрешении. Они модифицируются по нескольким простым правилам, которые показаны на диаграмме.
Если вкратце, то фильтр MLAA ищет L-, Z- и U-образные границы пиксельных групп, после чего размывает окружающие пикселы для получения плавных очертаний.
Простота и работа на уровне исходных пикселов является главным достоинством MLAA. Не требуется сложная обработка и работа с альфа-каналом, здесь вообще нет ресурсоёмких процессов. Фильтр работает покадрово с уже отрендеренным изображением и его производительность можно чётко просчитать заранее. Она не зависит от сложности сцены, так что можно гарантировать отсутствие «подтормаживаний» в любой момент. На тестовой машине (см. график внизу) скорость MLAA составляет от 4 мс на кадре 1280 x 800 до 11 мс на кадре 1920 x 1200, независимо от сложности сцены.
Пожалуй, это вообще самый быстрый способ сглаживания, который может работать почти в реальном времени на изображениях большого размера без помощи GPU. Intel позиционирует MLAA как конкурента MSAA (Multisample anti-aliasing), на графике сравнивается их производительность.
Intel Core i7-2820QM: Sandy Bridge, 4 ядра, 8 потоков 2,3 ГГц, графика GT2, 4 ГБ RAM, Windows 7 Ultimate 64-bit SP 1
Эффективность MLAA видна на следующих изображениях: кадр из игры Battlefield: Bad Company 2 без сглаживания (первое изображение) и с включенным MLAA (второе изображение).
Вот увеличенный (500%) фрагмент первого и второго изображения.
Ещё более наглядный пример (спасибо, oxitnik).
via Hot Hardware, ExtremeTech, Intel