New Order

A GPU accelerated sorting algorithm arranges every line of an image by increasing luminosity. The image retains every pixel, but appears in new order.

    </div>
</div>

Using a bitonic merge sort network implemented in the fragment shader, this piece is fast enough to process images and videos in real-time; it also sorts live videos fed from the built-in camera. To show the sorting algorithm in vivo, the first sorts run about 50 times slower than realtime.

Credits: 

Big hat-tip to @jvcleave and “Sorted” which inspired this piece.

Animations made with ofxPlaylist
Hashtable generation Perl Algorithm:​:Networksort
Music Golden Gate Orchestra: Charleston (Fox Trot) (1925) – via the internet archive

Images of artworks from wikipaintings.org. In order of appearance:

Gustave Caillebotte “The Bridge at Argenteuil”
Gustave Caillebotte “The Parquet Planers”
Edgar Degas “Promenade by the Sea”
Pieter Bruegel The Elder “Netherlandish Proverbs”
Gerhard Richter “Betty”
Gerhard Richter “1024 Colours”
Mikhail Nesterov “Adriatic Sea”
VIDEO Computer Commercial: IBM Computer (1986)(IBM)(US) – via the internet archive
VIDEO Live video feed
Ivan Aivazovsky “Frigate Under Sails”
Gustave Caillebotte “Landscape Banks of the Yerres”

Made with openFrameworks 0.8.0.

Some sorted Pixels: 

See Also:

2D SDF blobs v.2

Posted . 6 words. (~1min reading time)

researchreal-time

Love Making Waves

Posted . 52 words. (~1min reading time)

fftreal-timeislandresearch

2D SDF blobs v.1

Posted . 6 words. (~1min reading time)

researchreal-time

World

Posted . 96 words. (~1min reading time)

real-timeresearch

Mass Movement #1

Posted . 581 words. (~3min reading time)

researchart

•••