Introduction to openFrameworks

Within this workshop in the series Creative Coding with openFrameworks, we cover the very basics of this creative coding toolkit. We will learn how to set up an openFrameworks application from scratch using the integrated project generator, investigate the application's structure and way of functioning as well as gaining first experiences in reading the documentation. Finally, we will create our first application using some basic drawing and interaction features provided through the openFrameworks toolkit.

In order to create an openFrameworks application, we need some basic knowledge about the programming language C++. No need to be scared! We will cover some essentials about C++ and object-oriented programming first thing in the workshop, again following a practical approach by performing live coding demonstrations. This should set everyone up to get going with openFrameworks.

The source code (as well as complementary slides) for both our first openFrameworks application as well as the C++ examples is available online via GitHub:

Demo: Application developed in this workshop

Workshop content in detail

Introduction to openFrameworks

  1. openFrameworks folder structure
  2. Reading the documentation
  3. openFrameworks project generator
  4. Your first openFrameworks project
 featuring the application base frame, drawing and movement of a ball, keyboard and mouse interaction, random properties and more…

Introduction to C++

  1. C++ base frame
  2. Statements
  3. Arithmetic operators, void methods and string object
  4. More functions and local vs global variables/scope
  5. Namespaces and forward declaration
  6. Header vs implementation file
  7. More primitive data types, the string object refreshed and the Array collection
  8. For-loop, while-loop and array iteration
  9. Branching source code using conditional statements
  10. Relational and logical operators


  • None:
We start from scratch with the basics, step-by-step.
  • Nice to have: Understanding of the concept behind object-oriented programming (OOP), familiar with C++
 as well as being creative and having a vast imagination of what you want to do.