Feedback.
Фильтры для фотошопа последовательно изменяли пиксель за пикселем в картинке. Они двигались слева направо и сверху вниз, как при чтении текста с листа бумаги.
Такое считывание позволяло пробросить какой-нибудь пиксель вперед, затем снова его считать, затем снова пробросить вперед — создать рекурсию внутри одного прохода фильтрации. С помощью такой рекурсии я сделал фотошоп-фильтр для генерации паттернов PatTrick.
В шейдерах этот подход не работал, потому что все пиксели считывались и записывались одновременно. Для создания подобной рекурсии в шейдинге я начал использовать петлю обратной связи — фидбек.
Механизм фидбека можно представить с помощью телевизора. Сначала видеокамера подключается к телевизору, затем ее объектив направляется на телеэкран. В результате телевизор показывает сам себя — уходящий в бесконечность туннель, аналог зеркального коридора.
Подобным образом шейдерный эффект мог многократно фильтровать сам себя. В отличие от фотошопа, фидбек производил здесь уже не паттерны, а плавные размытые структуры.
Особенно эффективным это размытие мне показалось в портретной съемке. Экспериментируя с эффектом я сделал несколько селфи, а также пару снимков для жены и ее подруги.
При высоких коэффициентах обратной связи такая рекурсия начинала рисовать контрастные полосы. На использовании этой особенности я построил фотошоп-фильтр Zebra и несколько будущих шейдерных эффектов.
▹ Windy Pixel v2c1 — версия приложения с размывающим фидбеком, работающим через ползунок Blur.
▹ Sequencing — пример использования фильтра PatTrick в фотошопе.
Post #96
88





