Мне нравилось снимать через дисплейсмент, но в целом такой же результат получался и после обработки снимков в фотошопе. Через эффекты камеры мне хотелось достичь чего-то большего:
1. Видеть действие эффектов сразу, во время съемки, чтобы с помощью фильтров изменить сам процесс фотографирования, добавить к нему азарта.
2. Создавать эффекты, невозможные при обработке уже готовых снимков: использующие время, поток кадров, петли обратной связи и подобное. Это сделало бы технику шейдерной съемки невоспроизводимой через другие фотографические средства.
Для работы с потоком кадров требовалось, чтобы каждый следующий кадр содержал в себе частицы предыдущих кадров. Можно было добиться этого через маскирование.
Как работают маски? Можно представить, что в напечатанных фотографиях вырезаются отверстия, а затем такие снимки складываются стопкой друг на друга. В результате, через отверстия в верхних кадрах будут видны нижние.
Для создания маски я использовал threshold-технику: пиксели с яркостью ниже порогового значения превращались в отверстия.
thresholdLevel = 0.5; // порог яркости
if (pixelBrightness < thresholdLevel) {
// пиксель становится прозрачным
pixelAlpha = 0.0;
}
Пороговое значение постоянно менялось, это приводило к дублированию объектов в кадре и размазыванию их контуров по изображению. Движение руки со смартфоном при этом создавало подобие движения кисти по холсту. Такой эффект использовал поток кадров, а значит уже выходил за рамки пост-обработки в фотошопе.
▹ Windy Pixel v2b3 — ранняя версия приложения с простым маскированием.





