Как и в случае с пикселизацией, при работе с фотопотоком можно было было накладывать кадры друг на друга под искаженным углом.
Для наклона системы координат в разные стороны использовалась матрица поворота:
// угол поворота в радианах:
float angle = 1.23 ;
// матрица поворота:
float s = sin(angle);
float c = cos(angle);
mat2 rot = mat2(c, s, -s, c);
// поворот системы координат:
vec2 uvRot = uv * rot;
Умножив эту матрицу на дополнительные коэффициенты можно было получить не чистый поворот, а сдвиг изображения, т.е. сделать из прямоугольного кадра параллелограмм:
// матрица поворота
mat2 rot = mat2(c, s, -s, c);
// матрица из случайных коэффициентов для сдвига
mat2 skew = mat2(R1, R2, R3, R4);
// поворот и сдвиг системы координат
vec2 uvRotSkew = uv * rot * skew;
В результате такого преобразования кадры накладывались друг на друга уже не в плоскости, а в подобии пространства. Этот эффект напомнил мне об артефактах работы с 3D-графикой, которые возникают при неправильном расчете глубины сцены и смешивают видимые и невидимые части объектов на экране.
Изображения сняты через фильтр:
▹ mIRO))) / Timewriter / AB



