
OpenFrameworks does not ship with SSL support on OSX. I compiled the OpenSSL lib dependency and included an example 0073 Xcode project. This allows you to load https features of APIs like twitter and instagram user data.

OpenFrameworks does not ship with SSL support on OSX. I compiled the OpenSSL lib dependency and included an example 0073 Xcode project. This allows you to load https features of APIs like twitter and instagram user data.
New primitives that extend ofNode. ofPlane, ofSphere, ofIcoSphere, ofIcosahedron, ofCylinder, ofCone and ofBox.
Source Code: https://github.com/NickHardeman/openFrameworks/tree/feature-3dGraphics
Calculate face normals to get a different lighting effect. Smooth normals is also a convenience function.
Changing texture coords is easy, even after the primitive is created. Planes and meshes have the option to resize to the texture and do appropriate mapping for arb and non-arb textures. So repeat textures is easy to create.
Easily map live videos.
Manipulate the meshes by accessing the mesh faces individually. The texture coords will stay put. You can also access sides or parts of the mesh with functions like box.getSide( ofBox::FRONT );
Calculate the normals based on the triangles (ofMeshFace) if you move the faces around in 3d space.
A while ago I wrote some circle packing code to pack as many circles into a image based on colors. I had some free time and I didn’t want to stare at the computer anymore so I ran the software on the OF logo and made this design.
OF 007 XCode project available on github: https://github.com/NickHardeman/CirclePacker
In the 600 x 600px image there are 201 circles and the software took 7.35 minutes to complete. Could use some optimization, but it worked as well as I needed it to.
I printed the pdf on my crappy printer, taped the 4 pieces of paper together to make a larger logo and then painstakingly cut out all of the circles with an xacto knife.
I liked the imperfections that would be inevitable due to the uneven paper and human error while spray painting the stencil onto a shirt. I really like the inconsistant components; the spray paint, the cut outs and the uneven stencil visualizing computer generated conciseness.
Now the shirt is available for purchase on spreadshirt, with some of the proceeds going to OF! woohoo. It comes in many different sizes and colors. Get one now.
I provided some additional software dev help for the Paik Times Five project by Flightphase.
Creative Director: Karolina Sobecka
Technical direction and lead software development: Jeff Crouse
Additional software development: me
Karolina wrote a thorough description of the project here.
I created some audio reactive visuals using the kinect for the Tribeca Film Institute Interactive Day. It was an extremely short timeline. The video wall was impressive, at 120ft wide and 11ft tall. Video coming soon!
Last minute tweaks.
I created some icons for use with OF. Download of-icons. Read more about how to use them from this post.
OpenFrameworks is great for developing applications quickly and the data folder is easy and convenient when you are developing. But after the application is complete and you are ready to distribute/move it around, it can become problematic. For example, if you have more than one OF application in the same folder and they both need a data folder, you have a problem. The best solution I have found is by mazbox in his of64 screensaver example. He used a command that will copy your entire data folder into your resources folder relative to your application:
cp -r bin/data "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources";
This needs to be added to the Run Script command found in the application target. See image below.

You can check that it have been moved successfully by right clicking on the application and choosing “Show Package Contents” and it will be in Contents / Resources / data. Now that your data folder is being copied over, we need to tell OF where to look. So we need to set the path root by calling ofSetDataPathRoot("../Resources/"); in the setup function. Now you can move the application around and not worry about its relation to the data folder.
For the video below, I needed a way to extrude any font into 3D objects for use with ofxBullet.
There are many ways to do this and other examples using OpenFrameworks in this thread. My approach was a little more complicated than it should have been, but it worked. I used the following to get the paths of the letters for any font:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <code> ofPath path = font.getCharacterAsPoints(letter); vector <ofpolyline> polys = path.getOutline(); // resample the font points so that we have a point every (x) pixels; for (int i = 0; i < polys.size(); i++) { // now resample and draw new dots ofPolyline sampled = polys[i].getResampledBySpacing(samplePixels); sampledPolys.push_back( sampled ); // outline for (int j = 0; j < sampled.size(); j++) { points.push_back( ofVec3f(sampled[j].x, sampled[j].y, 0.)); } } </code> </ofpolyline></code> |
ofxBullet Examples from Nick Hardeman on Vimeo.
ofxBullet is an addon for OpenFrameworks for the incredible Bullet Physics library. Included are all of the primitive shapes; sphere, cone, capsule, box and cylinder. Joints are supported as well, between two shapes and a shape and a location. Collision events can be enabled to fire an event. The object passed contains information about the collision, including the two colliding objects, the location of the collision, etc. Mouse events can be enabled as well, and pass an event similar to the collision events. Mouse grabbing is also supported. The custom shape example illustrates passing a mesh from a loaded collada file (the OF logo) and building the bullet shape. This custom shape class also takes all of the primitives and supports multiple meshes.
MORE INFO