For creative coders, OpenFrameworks has been a godsend, taking the gnarly power of C++ and making it accessible to artists and designers, some of whom might never have touched code. It’s unlocking a lot of the amazing work we see, from interactive design to Kinect hacks. (See Gallery, above. This week, OpenFrameworks added a 0071 tag to its the 007 release it quietly released last year, which just about doubled the software in size. What’s in all that new heft? Well, it’s not bloat: critical tools that previously worked only as add-ons are now part of core, bringing lots of new functionality into the software. A lot of the release is also, crucially, examples, so it’s not only that it does more, but that you’ll be able to understand how to use that power
With 0071 out, it’s worth revisiting what 007 brought to the table:
Frameworks. OpenFrameworks. With Love.
- Works on Android (in addition to iOS, Mac, Linux, and Windows)
- Export PDF and SVG (using Cairo)
- Tesselate geometry
- Load images and other resources directly from the Web
- Easily draw (and GPU-accelerate) drawing 3D meshes
- Easier color and pixel features, better color mode support
- Texture copying
- Improved rotation and blend modes
- Core features in vector mathematics, threading, shader (including vertex buffer objects, for performance)
In short, OpenFrameworks is now more powerful, easier to use, and adds some functionality found in Processing that has been missing in OF.
Other highlights: drag-and-drop support on Mac and Windows, improved Linux video, new computer vision features, easier camera support and lighting placement, sphere and box loading, easier 3D model import, and better iPhone video and camera support.
As a sound fan, I’m also excited that they’re working toward an ofxSynth sound add-on. (libpd also nicely integrates with OpenFrameworks, so you can use Pure Data patches right inside OF, natively.)
Before the lusty month of May was done, OpenFrameworks added still more improvements. Work is beginning on the 0072 development branch, and now in stable 0071, these highlights:
- The focus: examples, examples, examples. All that new goodness in 007? Now you’ve got more and better examples — some 96 new additions – illustrating how to use OF.
- Examples separated from [your] apps in your directory folder. (Ah, this makes life much easier.)
- Standardized “addons.make” file for projects that use addons, across all platforms.
- New Project Generator makes files for all OF platforms: across different OSes, desktop and mobile, you can now use the Projector Generator to automatically add addons to projects. Previously, a lot of this work was manual – and slower. (Processing is addressing a similar use case, albeit in a different way; it’s a big deal and part of why these kinds of tools are nice to use when targeting more than one OS.)
- Android adds front camera support, OF sound playback, NDK r7+ support and fixes.
- iOS examples illustrate mixing OF with native code in your apps.
- iOS adds bug fixes for retina display, FBO, native GUI, video.
- Improved compatibility with Xcode, Xcode 4, and cursors on 10.7.
- Better OSC support: multiple binds on the same port, multicast/unicast support.
- New grid-drawing feature, plus arrows, cones.
- 3D curves.
- New mesh, model import, vertex drawing, OpenGL, math, and graphics feature improvements.
- Draw portions of an image.
For a full list of commits for 0071 see: https://gist.github.com/2836647
All in all, great-looking stuff. Just be careful, and retain your previous versions: some past OF code will need adjustment before it works in the new release.