See also: poniesandlight.co.uk/experiments/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.
It's fascinating to discover how many artworks - by old masters or by modern artists - use similar patterns in how visual weight balances on the canvas.
Based on 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.
* Big hat-tip to @jvcleave and "Sorted" (vimeo.com/38547739) which inspired this piece.
* Animations by ofxPlaylist (github.com/tgfrerer/ofxPlaylist)
* Hashtable for the bitonic merge sort network generated using Perl's Algorithm::Networksort.
* 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)
* VIDEO: Live video feed
* Ivan Aivazovsky: Frigate Under Sails
* Gustave Caillebotte: Landscape Banks of the Yerres
* Music: Golden Gate Orchestra: Charleston (Fox Trot) (1925)
Made with openFrameworks 0.8.0