Monday, June 30, 2008


Engine Room Audition... from Kevin Atkinson on Vimeo.

Nothing really new here if you're familiar with the blog, but I thought I'd post it anyway, since it is a nice little compendium of most of my better stuff. And yes, it's an audition for MTV's Engine Room. Spent way too much of my weekend putting this together. Anybody know any good, cheap video editors out there? I tried Sony Vegas Platinum, but it seems to only support two video tracks which is staggeringly lame. Cheap is more important than good right now.

(Apologies for the cheesy pun at the end -- that's my oldster attempt at playing to the MTV crowd...)

Thursday, June 26, 2008







Some tests from series I'm working on.

Sunday, June 22, 2008


Virtual Ball Pit from Kevin Atkinson on Vimeo.

Update: This is effect is currently being used by the band The Killers in their onstage visuals during their current world tour. It's deeply satisfying to see it being used in a high-profile setting.

I quite like how this one turned out. I've been playing with real-time physics libraries for a while, both 3d and 2d, and I've been wanting to do something for a while, but I've found it surprisingly difficult to come up with anything that grabbed me. But a couple weeks ago I had a brainwave and wrote this in just a couple days.

For those interested in such things, I didn't use Erin Catto's Box2D, which seems the current champ in developer mindshare in this tiny niche. I started out using it, and it's quite nice, but it just wasn't fast enough when I used enough circles/pixels to generate an intelligible representation of the video stream (there're about a 1000 used in the demo above). Luckily, I chanced across Scott Lembcke's chipmunk physics library which uses some kind of fancy-pants geometric hashing to speed up collision testing, and it works quite nicely in real-time with 1000 pixels/circles.

As ever, I'm impatient with the whole documenting process, which is why these demos are a tad perfunctory and under-(non-?)rehearsed at times. So yes, if you listen close, you'll hear me say to my wife, "I just want to get this stupid thing up on the web...."

P.S. Some people have told me they have trouble with the vimeo video, so here's a link to the (ghastly, artifact-riddled) youtube version.

P.P.S. Here's quicktime of the vid.

P.P.P.S. if you liked this one, you'll probably like these as well:

The wobbly effect!
the flowy-fluid effect!
The wavy effect!
The freaky time-shifting effect!

Friday, June 20, 2008

This messed me up for a bit:

IplImage *img = cvLoadImage(...
...
for(;;)
{
if(img) cvReleaseImage(&img_cap);
sprintf(buf, "\\image_folder\\%d.jpg", img_idx++);
IplImage *img = cvLoadImage(buf);
...
}

Watch it leak like a sieve. Might be obvious to some, but even though the second declaration of img comes after its first use in the nested scope, the compiler still assumed I was referring to the nested img. Which seems like a compiler bug -- why would it permit use of that variable before it is declared? The second declaration was a cut-and-paste error, btw.

Saturday, June 14, 2008


Revisiting some ideas and techniques and applying nice rendering styles, and adding 3D touches to 2D ideas.

I'm making several pieces based on a technique used in the above pic. Note that the tubes, or viscera, or whatever the heck you might call them, are actually a single continuous loop.

Monday, June 09, 2008

The video is up at Colonel Blimp and promonews.tv. If you're arriving from there, the effect we used is demoed here:

The wobbly effect!

And if you liked that, you'll probably like these as well:

the flowy-fluid effect!
The wavy effect!
The freaky time-shifting effect!

Wednesday, June 04, 2008


I'm having a show. Here's a flyer.