Я знаю, что алгоритм Floyd–Steinberg dithering не может быть реализован с помощью пиксельного шейдера, потому что этот алгоритм является строго последовательным. Но, может быть, существует какой-то алгоритм с высоким уровнем взаимного сглаживания, который по его визуальному выводу аналогичен алгоритму Флойда-Штайнберга?Альтернативы сглаживания Floyd-Steinberg для пиксельных шейдеров
Итак, вопрос в том, что такое алгоритмы сглаживания, которые подходят для реализации на пиксельных шейдерах (желательно GLSL) и с качеством вывода (очень), аналогичным сглаживанию Floyd-Steinberg?
BTW. Многопроходные алгоритмы разрешены до тех пор, пока не будет не более двух проходов, а накладные расходы процессора между этими проходами будут незначительными.
Любые идеи?
EDIT:
Мне нужно сглаживание от 24-битного цвета до 21-битного цвета.
(То есть -. Мне нужно преобразовать из 8 бит/канал до 7 бит/канал)
EDIT 2 Может быть, я не объяснил проблему очень хорошо. Поэтому я попытаюсь немного развернуть точную проблему. Проблема заключается в следующем - считайте мы имеем такую картину:
И мы имеем над картиной, но обрабатываются сглаживание алгоритма:
Теперь это процедура, которая проверит ваше Смешение хорошо для меня или нет:
1. Загрузите эти фотографии в Photoshop как одно изображение с двумя слоями.
2. Выберите режим смешивания слоев на «Разница».
3. Выполните операцию «Слияние видимых» на слоях, чтобы получить только один слой.
4. Выполните операцию => Image/Adjustments/Уравнять
После этого вы должны получить такое изображение:
Как вы видите - средние пиксели, который был в монотонном красном цвете не колебалось вообще. Также сглаживание левого и правого зон изображения немного отличается. Попробуйте восстановить алгоритм сглаживания с таким поведением.
У меня возникли проблемы с пониманием вашего результата. Разностное изображение подразумевает, что вывод Floyd-Steinberg содержит компоненты со значениями 0 и 255, но это не имеет смысла с 7 битами; он должен быть 0 и 254, или 1 и 255. Если вы не используете четные цвета от 0 до 126 и нечетные от 129-255? –
Проблема в том, что я не знаю слишком точных сопоставлений бит, поэтому я создал такой вопрос - повторить поиск алгоритма сглаживания программы X. –
Если бы вы могли опубликовать изображение с результатами, мы могли бы выяснить отображение битов. –