openFrameworks is a C++ toolkit for creative coding. If you are new to OF, welcome!
- Grab the Nightly Release (to avoid submodule cloning)
- Setup guides for different Platforms
- Join Our Slack
- Discuss on the Forum
- Follow OF on Mastodon
- The master branch contains the newest, most recently updated code. This code is packaged and available for download in the "Nightly Builds" section of openframeworks.cc/download.
- The stable branch contains the code corresponding to the last stable openFrameworks release. This stable code is packaged and available for download at openframeworks.cc/download.
| Platform | Master branch | Stable branch |
|---|---|---|
| Windows MSYS2 | ||
| Windows Visual Studio | ||
| Linux 64 & Arm | ||
| Emscripten | ||
| macos | ||
| iOS & tvOS |
This release of OF comes with several folders:
- addons
- apps
- docs
- examples
- export (on some systems)
- libs
- other
- scripts
- projectGenerator
docs has some documentation around OF usage, per platform things to consider, etc. You should definitely take a look in there; for example, if you are on OSX, read the osx.md. apps and examples are where projects go -- examples contains a variety of projects that show you how to use OF, and apps is where your own projects will go. libs contains the libraries that OF uses, including the openframeworks core itself. addons are for additional functionality that's not part of the core. export is for DLLs and dylibs that need to be put in each compiled project. The scripts folder has the templates and small scripts for automating OF per platform. project generator is a GUI based tool for making new projects - this folder is only there in packaged releases.
One idea that's important is that OF releases are designed to be self-contained. You can put them anywhere on your hard drive, but it's not possible to mix different releases of OF together, so please keep each release (0.8.0, 0.8.1) separate. Projects may generally work from release to release, but this is not guaranteed. Because OF is self-contained, there's extensive use of local file paths (ie, ../../../) throughout OF. It's important to be aware of how directories are structured. A common error is to take a project and move it so that it's a level below or above where it used to be compared to the root of OF. This means that links such as ../../../libs will break.