Creative Coding Software Tools: Processing, openFrameworks, Cinder
In my previous blog post, Fresh Brewed Coffee Digital Art, I made mention of the fact that I create my digital art using software of my own design and that for those digital artists interested in pursuing this aspect of digital art creation, there were some alternative tools available. In that post I mentioned Processing, openFrameworks, and Cinder. I would like to take this opportunity to say a little more about each of these three options.
The main Processing web sites are:
- Processing – processing.org
- Processing Forums on processing.org
- OpenProcessing Community at openprocessing.org – a site for sharing Processing sketches
Following are three books on Processing that I recommend and own. There are a number of other books on Processing that are also quite good. Please be aware that Processing is now on version 3 and version 2 is still widely used but do avoid any book that was written for version 1 of Processing.
- Processing: A Programming Handbook for Visual Designers and Artists (MIT Press) by Casey Reas and Ben Fry
- Learning Processing, Second Edition: A Beginner's Guide to Programming Images, Animation, and Interaction (The Morgan Kaufmann Series in Computer Graphics) by Daniel Shiffman
- The Nature of Code: Simulating Natural Systems with Processing by Daniel Shiffman
Like Processing, openFrameworks is also free and available on multiple platforms. In fact I even had the opportunity to write some openFrameworks programs on a Raspberry Pi (see CanaKit Raspberry Pi 3 Ultimate Starter Kit – 32 GB Edition) that was running the Raspbian operating system. The primary difference between Processing and openFrameworks is that whereas Processing is a framework that sits on top of the Java programming language, openFrameworks sits on top of the C++ programming language. Personally I find openFrameworks to be somewhat more challenging than Processing, particularly with respect to the use of off-frame buffers in conjunction with OpenGL. And by challenging, I am speaking in terms of the number of lines of code I must write in order to achieve some objective.
The main web sites for openFrameworks are:
- openFrameworks at openframeworks.cc
- openFrameworks Forums at openframeworks.cc
- openFrameworks AddOns at ofxaddons.com
There are not nearly as many books about openFrameworks as there are about Processing but the two that are most worthwhile are:
- openFrameworks Essentials
- Mastering openFrameworks: Creative Coding Demystified
If you are searching on Amazon for books about Processing and/or openFrameworks, you may come across the book Programming Interactivity: A Designer's Guide to Processing, Arduino, and openFrameworks by Joshua Noble. My advise is do not buy this book. It is quite out of date and the source code for the examples never was made available.
Cinder is a third creative coding platform and, like openFrameworks, relies on the C++ programming language. I have no personal experience with Cinder but I will say that when I was investigating openFrameworks vs Cinder as a creative coding toolset for the C++ environment, openFrameworks won out.
The main Cinder web sites are:
There are even fewer books about Cinder than there are about openFrameworks. Two books you can find on Amazon are:
- Cinder Creative Coding Cookbook
- Cinder – Begin Creative Coding
I hope you've found this information useful. I also hope that, even if you are not a digital artist or musician or programmer, you check one or more of these creative coding toolsets because you never know – you just might have a knack for creative coding.