дизеринг Флойда-Стейнберга альтернативы пиксельному шейдеру

Я знаю, что алгоритм дизеринга Флойда – Стейнберга не может быть реализован с пиксельным шейдером, потому что этот алгоритм строго последовательный. Но, возможно, существует какой-нибудь высокопараллельный алгоритм дизеринга, который Визуальный вывод подобен алгоритму Флойда-Стейнберга?

Итак, возникает вопрос - какие алгоритмы дизеринга подходят для реализации в пиксельных шейдерах (предпочтительно GLSL) и с качеством вывода (очень) похожим на дизеринг Флойда-Стейнберга?

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

Есть идеи?

РЕДАКТИРОВАТЬ:
Мне нужно сглаживание с 24-битного цвета на 21-битный цвет .
(То есть - мне нужно преобразовать из 8 бит на канал в 7 бит на канал.)

РЕДАКТИРОВАТЬ 2
Мне нужен дизеринг с 24-битного цвета на 21-битный.
(То есть - мне нужно преобразовать из 8 бит на канал в 7 бит на канал.)

РЕДАКТИРОВАТЬ 2
Мне нужен дизеринг с 24-битного цвета на 21-битный.
(То есть - мне нужно преобразовать из 8 бит на канал в 7 бит на канал.)

РЕДАКТИРОВАТЬ 2 Возможно, я не очень хорошо объяснил проблему. Так что я постараюсь немного подробнее остановиться на конкретной проблеме. Проблема заключается в следующем - представьте, что у нас есть это изображение:
alt text
И у нас есть изображение выше, но обработанное с помощью алгоритма дизеринга:
alt text
Теперь это процедура, которая проверяет ваше дизеринг, подходит ли мне или нет:
1. Загрузите эти изображения в Photoshop как одно изображение с двумя слоями.
2. Выберите режим наложения слоев на «Разница».
3. Выполните операцию «Объединить видимое» на слоях, чтобы получить только один слой.
4. Выполните операцию => Изображение / Настройки / Выровнять

После этого вы должны получить такое изображение:
alt text
Как видите - средние пиксели, которые были в монотонном красном цвете, вообще не были размыты. Также немного отличается дизеринг левой и правой зон изображения. Попробуйте реконструировать алгоритм дизеринга с таким поведением.

11
задан Agnius Vasiliauskas 8 November 2010 в 17:53
поделиться