Идентификаторы позволяли не только менять размер ячеек, но и задавать внутри них собственное кадрирование:
1. С помощью идентификаторов создавалось изображение с неравномерной сеткой пикселизации:
... // шаги описаны ранее
vec4 varyImg = texture2D(TXP, varyUv);
2. Цветовые значения этой сетки принимались как коэффициенты кадрирования для системы координат:
float uvCropX = varyImg.r;
float uvCropY = varyImg.g;
float uvZoom = varyImg.b;
3. Параметры кадрирования применялись к системе координат, на основании которой изображение из камеры проецировалось на экран:
float uvTransformed = uv;
uvTransformed.x += uvCropX;
uvTransformed.y += uvCropY;
uvTransformed *= uvZoom;
vec4 img = texture2D(TXP, uvTransformed);
Технически такой эффект был разновидностью дисплейсмента. Если в обычном дисплейсменте сдвигались отдельные пиксели, то здесь перемещались их группы — квантованные ячейки.
Визуально эта техника отлично подходила для случайной расстановки акцентов:
• разбитое на ячейки изображение упаковывалось в новом виде, делая каждую часть кадра более автономной, условно-независимой от остальных;
• через собственную трансформацию внутри каждой ячейки ее кадрирование могло выхватить и увеличить какую-то случайную деталь снимка, поставить на ней ударение;
• коэффициенты трансформации иногда задавали одинаковое кадрирование внутри нескольких ячеек, образуя случайный визуальный рефрен, тавтологическую рифму.
Используя этот эффект я снял несколько сотен изображений в местном парке, затем склеил их в общий контакт-шит разрешением 200 мегапикселей и распечатал на двухметровом баннере для выставки.
Изображения сняты через фильтры:
▹ mIRO))) / Bluejuice
▹ mIRO))) / Bluejuice / B






