В Disaurde я уже использовал эффект туннелирования, но в mIRO))) мне захотелось сделать его более выраженным.
Логика создания туннеля была такой:
1. Задавался шаг туннеля, скорость изменения его масштаба:
float scale = -0.05;
2. Создавалась система координат, уменьшенная на этот шаг:
vec2 uvScaled = uv*(1.0-scale)+scale*0.5;
3. На уменьшенную систему координат проецировался прошлый кадр экрана из буфера обратной связи:
vec4 imgScaled = texture2D(TXF, uvScaled);
4. Вокруг экрана создавалась маска в виде прямоугольной рамки:
vec2 uvBorder = step(0.5+scale, abs(uv-0.5));
float border = step(0.1, uvBorder.x+uvBorder.y);
5. Рамка передавала текущий кадр из камеры, внутри нее был прошлый кадр с экрана:
vec4 imgBorder = texture2D(TXP, uv);
output = mix(imgScaled, imgBorder, border);
6. Затем цикл повторялся: через обратную связь экран уменьшался, вокруг него создавалась рамка из нового кадра, все это снова уменьшалось и так далее.
7. Дополнительно в маску подмешивались пятна, напоминающие капли краски или мазки кистью.
Образ туннеля или моста, ведущего внутрь снимка, стал для меня символом погружения в кадр, метафорой интеграции зрителя в изображение. Позже я вернулся к нему с более масштабным проектом, превращающим фотографии в туннели.
Изображения сняты через фильтр:
▹ mIRO))) / Aeroplane






