Posted over 1 year ago on July 14, 2010
My latest passion. I picked up some Processing in order to provide fuel for some VJ sets I played last Spring, but this summer I took some time to sit down and play with all three of these tools.
My experience so far is that Processing is the easiest to get started with- it definitely feels like a good fit for beginners- the syntax is sort of "Java-lite" and the integrated Processing Development Environment makes it very easy to just sit down and start sketching.
However, my ultimate goal is a robust live performance tool where I'm manipulating audio reactive 'scenes' live, full-screen on a projector. I've had some trouble with the third party fullscreen API, some performance issues, and I have some general doubts stemming from that layer of Java sitting between the sketch and the OS.
Cinder is clearly aimed at folks with a solid background in C++ and OpenGL, and I found myself hitting technical difficulties regularly. Also long linking times mean that my tinker-complie-watch process can br tough to take, with around a 20-30 second wait on my 2007 Macbook Pro. All in all, if my skills were there, there's an elegance to that framework that I find extremely appealing!
openFrameworks may be the sweet spot for me. It has parallels for the majority of Processing's API, and the fact that it doesn't use all the latest and greatest C++ tricks (at least, in it's API) is, for me, a good thing, as I have been able to make sense of most of the oF code I've come across. And the performance is totally solid, including full-screen use- it leverages OpenGL behind the scenes, but you don't have to work with OpenGL directly.
I have some sketches created in all three on my github page if you're interested in seeing the differences.