I haven’t released any typefaces since 2006 but I still draw letters all the time — I always like to have a piece of paper and a pen or pencil at hand. Today I scanned and uploaded some sketches to my Flickr account.
After making some tests with Java OpenGL (JOGL) in Eclipse, I decided I should try OpenFrameworks again to delve deeper into OpenGL. The main problem with JOGL is that it’s a “layer” on top of the original OpenGL API; some things are different and often more complex in JOGL (for example the need to pass ByteBuffers instead of arrays).
This audio visualization is a simple exercise with FBOs, VBOs and shaders. An audio-reactive particle system (512 quads) is rendered to a FBO and applied as texture to a cube. This cube is then rendered to a second FBO, which is applied as texture to a second cube. There is a slight blur effect made with GLSL shaders. The stripes result from the way the cube was UV-mapped, an unexpected effect that turned out interesting.
At a 640×480 pixels resolution, framerate varies from 30 to 60 FPS in my computer, equipped with a GeForce 6200 (I need to upgrade my PC).
Just finished a simple Processing sketch for the Processing Monsters project by Lukas Vojir. He invited Processing developers to create and share (source code included) little black-and-white, mouse reactive monsters — there are some cool entries already, go check them out.
Jaded Afghan is one of the best tracks on their 2007 album This Is The New and also a song well suited to my beat detection algorithm (based on this gamedev.net article — look for “frequency selected sound energy algorithm #2”).
Inspired by this thread (especially comments from Chris O’Shea and Dave Bollinger), this Processing sketch has two modes: capture and render. In capture mode, there’s audio playback, FFT analysis and beat detection — the resulting data is saved to a text file. In render mode, there’s no audio: all data is retrieved from the text file and PNG still frames are rendered. It took approximately 1h30 to render the 6779 frames for this video, at 800×450 pixels, 24FPS. The movie file with audio was assembled in Adobe Premiere.
It’s highly recommended to download the original 170MB Quicktime file — the link is at the bottom of the page, below “Statistics”. A Vimeo account is required, but it’s free.
Software was built with OpenFrameworks, which is to C++ what Processing is to Java. A prototype was built with Flash (AS3), but it was slow — reading pixel values (BitmapData.getPixel) can be processor-heavy. Thanks to OpenFrameworks, porting the AS3 code to C++ was quite easy.
The application is very simple: the images captured by the cameras are brightened, blurred and thresholded, resulting in black blobs. The amount of blob pixels inside the geometric shape count as positive points and the pixels outside the geometric shape count as negative points.
This was my first project with computer art in a physical space — it’s something that I should explore further in my personal projects.