NOTE: The Vimeo compression destroys most of the particles, so I suggest downloading the quicktime from the bottom right.
This is a demo of an OpenCL particle system based on Rui's original example at

This is 1,000,000 particles being interacted on by mouse, updated on GPU (with springy behaviours ) via an OpenCL kernel, data written straight to a VBO and rendered - without ever coming back to host (i.e. main memory + cpu etc.)

Frame-rate is around 100-200fps running on a macbook pro with GF 9600GT. That's 100-200fps on a laptop! (albeit a pretty decent one), but I'm dying to try this on a GF 285 GTX - which has 7.5x the number of cores, 2.5x the fillrate and 3.5x the memory bandwidth - for only £250!!

Written using ofxOpenCL addon for openframeworks, C++ (though most of the critical stuff is just OpenCL).

Source code and more info at

Loading more stuff…

Hmm…it looks like things are taking a while to load. Try again?

Loading videos…