openFrameworks: C++ for Processing Coders


Dates: Saturday & Sunday, October 27th – 28th
Times: 11am – 5pm
Course Length: 12 instructional hours
Cost: $20/instruction hour, $240 total, $216 for GAFFTA Members
Location: GAFFTA, 923 Market Street Ste. 200, San Francisco, CA 94103

Select ticket option


openFrameworks was developed for folks using computers for creative, artistic expression, and who would like low level access to the data inside of media in order manipulate, analyze or explore.

openFrameworks is an open source C++ toolkit designed to assist the creative process by providing a simple and intuitive framework for experimentation. The toolkit is designed to work as a general purpose glue, and wraps together several commonly used libraries. The code is written to be massively cross-compatible. Right now we support five operating systems (Windows, OSX, Linux, iOS, Android) and four IDEs (XCode, Code::Blocks, and Visual Studio and Eclipse). The API is designed to be minimal and easy to grasp. Simply put, openFrameworks is a tool that makes it much easier to make things with code.

// Topics of the workshop include:

1 – Introductions, pretty/shiny pictures, creative uses of programming, and tools/frameworks for creating. How to download/install OF on Mac/Linux/Windows, and getting the bundled examples compiled for the first time. How to start a new project. Differences between C++ and Java, in terms of philosophy, syntax, casting types, atomic variable types (int, float, double, the “unsigned” keyword), and MAYBE pointers.

2 – Drawing pixels, lines, polygons, and typography in 2D and 3D

3 – Animation, playing back video, rendering frames to a PNG sequence, and

4. Reacting to input from mouse, keyboard, microphone, and webcam

6 – Utils: file system, logging, time, format conversion, threads, network, talking to other languages (inter-process, and embedding scripting engines)

7 – Mixing and mingling: using other APIs. Addons: introduction to addon system and demonstration of a few popular addons

8 – More Addons: more demonstrations of more popular addons

9 – How to write your own Addon for OpenFrameworks

10 – OpenFrameworks for iOS and Android

11 – Working with a Kinect and Shaders, and exploring visuals effects and generative art

12 – Algorithms: Writing your own sort, lists, hash-maps, trees, and advantages of C++ over Java. Researching methods and using the internet to find answers.

// Required equipment:

A portable computer with your IDE of choice installed; we recommend (XCode or Code::Blocks). Download openFrameworks for free at

// Prerequisites:

A comprehensive understanding of Processing or another coding framework.


Josh Nimoy


I am a silicon valley unicorn. I make software art. I communicate between engineers and artists. I think a lot about issues of programming for non-programmers. I am best known for my generative computational aesthetics for Disney’s TRON:Legacy. My most contagious meme is BallDroppings. My most visible work is commercial. My art shows in serious galleries and museums. I believe creativity is a serious force of business and humanity, capable of much more than mere entertainment, consumer manipulation, and intellectual invigoration. It is nutritious, healing, and magical.

Reza Ali


Reza is a computational designer/creative technologist/multi-faceted hybrid engineer who is interested in everything from design to biology to entrepreneurship. He is interested in human computer interaction (interaction design), architecture/product design, software, mobile technology/hacking, generative visuals, algorithmic art, data visualization, audio-visual interactive immersive environments, new media tools for DJs/VJs/Performers, Trans-Architecture, photography, graphic design, user interfaces, electronics, 3D animation, modeling, rendering and scripting. Some of his goals are to create content and interactive controllers for multimedia performance systems, to create new and fun models of interaction, to create form/visuals/sounds though algorithmic processes, to create real-time computer graphics for virtual worlds, and to explore the realm of science and mathematics to make complex phenomena understandable and intuitive. He hopes to change the world by making a difference in how people use technology, design products and experience new media art and entertainment.

For some latter half of 2010 and early 2/3 of 2011 he lived in LA and worked for various companies, including Motion Theory under Mathew Cullen, Kaan Atilla, and Chris Riehl and at Nokia Research Center under Rebecca Allen (Founding Chair of Design Media Arts @ UCLA). All the while he freelanced for POSSIBLE (created an audio-visual VJ app for Deadmau5), and the Santa Barbara Museum of Art (created an iPad app, iCubist, that augmented the museum’s Analytic Cubist Exhibit featuring works from Picasso and Braque). Reza gave presentations and talks at Nokia Design, Google Data Arts Center, NIME 2010, and NIME 2011. His work was featured in two books, Visual Complexity by Manuel Lima and Generative Art by Matt Pearson and numerous times online at On his spare time he worked on a gallery installation, and various other personal new media art projects.

In 2010 Reza earned a Master of Science in Multimedia Engineering (with a focus in Visual and Spatial Arts) from the Media Arts and Technology at the University of California, Santa Barbara. His advisors were George Legrady (Data Visualization Artist), Casey Reas (Co-Creator of Processing, MIT Media Lab), and Matthew Turk (MIT Media Lab). Before his move to Santa Barbara, California in 2008, he graduated from Rensselaer Polytechnic Institute with two B.S. (One in Mechanical and Electrical Engineering, and minors in Electronic Art and Product Design) studying under Curtis Bahn, Shawn Lawson and Kenneth Conner.