LINUX.ORG.RU

История изменений

Исправление nick87720z, (текущая версия) :

Навести цветовые искажения - не проблема, тут даже FSAA не нужно. :). Банальное выделение края умноженное на те самые аберрации. Но я, всё-таки, за эстетику. Главное свойство CRT для меня - это некая аналоговость ЭЛТ, когда пикселизация незаметно, т.к. там размытие субпиксельного масштаба на уровне самой матрицы.

Кстати, на обоих скринах - субпиксельная фильтрация неправильная, т.к. нет гамма-коррекции. В аналогичной теме, на старом форуме imagemagick, команда для ресайза с ремиксом для LCD RGB с первого поста - делала -gamma 0.5 до обработки и -gamma 2.0 после.

Проблема обнаружилась только при синтетическом тесте - ровной картинке с квадратами и узорами, с разным субпиксельным сдвигом. У линий шириной в 3/3px при выводе через 3-пиксельный бокс выделялся центральный субпиксельный компонент, придавая соответствующую окраску (например, при размытии несдвинутой линии - окраска зелёная). Тогда я и понял, что что-то не так (т.к. не может быть такого). Т.к. по хорошему - фильтрация коробки коробкой даёт треугольник, который по сути - пара линейных субпиксельных градиентов, у которых цветовые блики на краях - на порядки меньше, чем у исходной коробки.

Причём, после добавления гамма-коррекции даже восстановление чёткости не особо нужно (и то - это если на пиксельном уровне, на субпиксельном так вообще - всё, что я попробовал, делает только хуже, приводя к вышеописанному дисбалансу, как например [1,1,1] x [-1,N+2,-1] или [-1, -1, N-1, N, N-1, -1, -1]).

P.S. Шрифты после добавление гамма-коррекции выглядят примерно как у меня раньше было в qt, когда части линий, при светлой цветовой гамме, казались бледными (возможно, qt4 - уже не помню).

Исходная версия nick87720z, :

Навести цветовые искажения - не проблема, тут даже FSAA не нужно. :). Банальное выделение края умноженное на те самые аберрации. Но я, всё-таки, за эстетику. Главное свойство CRT для меня - это некая аналоговость ЭЛТ, когда пикселизация незаметно, т.к. там размытие субпиксельного масштаба на уровне самой матрицы.

Кстати, на обоих скринах - субпиксельная фильтрация неправильная, т.к. нет гамма-коррекции. В аналогичной теме, на старом форуме imagemagick, команда для ресайза с ремиксом для LCD RGB с первого поста - делала -gamma 0.5 до обработки и -gamma 2.0 после.

Проблема обнаружилась только при синтетическом тесте - ровной картинке с квадратами и узорами, с разным субпиксельным сдвигом. У линий шириной в 3/3px при выводе через 3-пиксельный бокс выделялся центральный субпиксельный компонент, придавая соответствующую окраску (например, при размытии несдвинутой линии - окраска зелёная). Тогда я и понял, что что-то не так (т.к. не может быть такого). Т.к. по хорошему - фильтрация коробки коробкой даёт треугольник, который по сути - пара линейных субпиксельных градиентов, у которых цветовые блики на краях - на порядки меньше, чем у исходной коробки.

Причём, после добавления гамма-коррекции даже восстановление чёткости не особо нужно (и то - это если на пиксельном уровне, на субпиксельном так вообще - всё, что я попробовал, делает только хуже, приводя к вышеописанному дисбалансу, как например [1,1,1] x [-1,N+2,-1] или [-1, -1, N-1, N, N-1, -1, -1]).