Uploaded December 2019 | Updated September 2026, 2 hours ago
Use a frei0r mixer2 where the first image input is stored in a buffer, and the second is an image where the intensity of each pixel determines how far back in the buffer to get the output pixel. For a vertical gradient this looks just like 'slit-scan'. It takes a lot of moving around of memory for lookups into an array of size width * height * buffer length pixels - maybe storing the pixels with the buffer length as the major axis would be better for cache? Copying the input images into the buffer would then be slowed down...
The animated delay map can be seen at 0:33
github.com/lucasw/frei0r/blob/delay_map/src/mixer2/delay_map/delay_map.cpp
github.com/lucasw/gephex
Use a frei0r mixer2 where the first image input is stored in a buffer, and the second is an image where the intensity of each pixel determines how far back in the buffer to get the output pixel. For a vertical gradient this looks just like 'slit-scan'. It takes a lot of moving around of memory for lookups into an array of size width * height * buffer length pixels - maybe storing the pixels with the buffer length as the major axis would be better for cache? Copying the input images into the buffer would then be slowed down...
The animated delay map can be seen at 0:33
github.com/lucasw/frei0r/blob/delay_map/src/mixer2/delay_map/delay_map.cpp
github.com/lucasw/gephex










