Я продолжал программировать фильтры во время поездок на транспорте. На экране смартфона помещалось достаточно текста, чтобы написать простой эффект. При этом более сложные фильтры требовали больше кода и их текст часто выходил за рамки экрана. Это делало редактирование сложных фильтров неудобным.
Для решения этой проблемы я вынес часто используемые блоки кода в готовые функции. Их можно было кратко вызывать, экономя экранное место. В редакторе кода появилась кнопка
HELP, ведущая к списку всех доступных функций.Например, для создания фона в этом фильтре использовались следующие функции:
1. Перевод изображения из цветного в черно-белое:
float img2bw ( vec4 img )
2. Усиление контрастности черно-белого изображения через применение S-образной кривой:
float f2scrv( float f, float amt, float shft )
3. Двухмерный шум для придания черно-белому изображению дополнительной зернистости:
float uv2frand( vec2 uv )
Подобные функции применялись для создания брызг и капли, напоминающей ртуть. Функции сильно ускоряли разработку и экономили место на маленьком экране смартфона.
Вместе с тем, mIRO))) не давало пользователям возможности задавать нужные функции самостоятельно. В будущем я планировал добавить эту возможность, но не получил на нее запроса от пользователей, поэтому в итоге оставил как есть.
Изображения сняты через фильтр:
▹ mIRO))) / Dungen







