Center for Computer Research in Music and Acoustics
Stanford University
Languages, frameworks, IDEs, code style all contribute to an aesthetic.
Whatever you do, do it with aesthetic.
Perry Cook, as told by Ge Wang
The Warthog, Victoria Grace
Downloading on OSX and Windows is straightforward.
Linux requires compilation. See linux install guide
This worked for me on Ubuntu Linux.
# Clone master OpenFrameworks repo
$ git clone https://github.com/openframeworks/openFrameworks.git
$ cd openFrameworks
# Get dependencies, codecs, and necessary libs
$ cd scripts/linux/ubuntu
$ sudo ./install_dependencies.sh
$ sudo ./install_codecs.sh
$ cd ..
$ sudo ./download_libs.sh
# Compile openFrameworks
$ ./compileOF.sh
# Now clone the ProjectGenerator repo
$ cd ../../apps
$ git clone https://github.com/openframeworks/projectGenerator.git
# and go back to the linux scripts to build it
$ cd ../scripts/linux/
$ ./compilePG.sh
Almost everything works out-of-the-box.
You need to make a small fix to the Project Generator
Locate openFrameworks/export/osx/libs/libfmodex.dylib
Copy it
Locate your Project Generator app, right click, and click "Show Package Contents."
In Contents/Resources/app/ make a new folder ...
... called Frameworks
Then paste libfmodex.dylib into this directory, and you're done.
Like the Projucer for JUCE. Creates and modifies OF projects.
There are tons of examples in the OF/examples/* folders.
Great source of ideas and solutions. Build them and check them out!
$ cd $OPENFRAMEWORKS/addons/
$ git clone https://github.com/kylemcdonald/ofxFft.git
# That's it!
Andrew Lee, Music 256a, Fall 2015
Jack Atherton, Fall 2015
See ofCamera(), ofEasyCam()
NOTE: default camera is different! Coordinate origin is in top left, y points down.
How to map a 3D scene to your 2d screen.
Perspective vs. orthographic projection
See, e.g., ofCamera::setupPerspective()
See, e.g., ofCamera::enableOrtho()
ofPushMatrix(); and ofPopMatrix();
ofRotate() (and ofRotateX(), ofRotateY(), ofRotateZ())
Analogously for color/style: ofPushStyle(); and ofPopStyle();
Parting thoughts
expressiveness > realism
This alone isn't an instrument.
Parting thoughts
Create the minimum viable product.
Parting thoughts
(or whatever other form of version control).