An introduction to creative coding using openFrameworks
Within this workshop, we cover the basics of using the creative coding toolkit openFrameworks. 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 at the beginning of the workshop, following a practical approach by performing live coding demonstrations. This should set everyone up to get going with openFrameworks.
Slides and source code, covering all relevant and required material to complete this workshop, are available online via GitHub:
[ Slides ]
[ Source code ]
[ C++ introduction ]
Workshop Content In Detail
Introduction to openFrameworks
openFrameworks folder structure
Reading the documentation
openFrameworks project generator
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++
C++ base frame
Arithmetic operators, void methods and string object
More functions and local vs global variables/scope
Namespaces and forward declaration
Header vs implementation file
More primitive data types, the string object refreshed and the Array collection
For-loop, while-loop and array iteration
Branching source code using conditional statements
Relational and logical operators
None: We start from scratch with the basics, step-by-step.
Nice to have: Understanding of the concept of object-oriented programming (OOP), familiar with C++ , as well as being creative and having a vast imagination of what you want to do.