Porting Noise Column

Noise Column Print Detail+ See the full Noise Column Triptych Flickr Set.

For my friend Nate‘s 30th birthday, I created a one-off set of prints based on the Noise Column and Noise Column Wallpaper Generator mini-projects. It was largely an exercise in creating something with OpenGL.

Thus began the effort to port a bunch of ActionScript 3.0 vector drawing commands over to line loops in OpenGL. I used Processing as my framework since I’m used to it, and it gave me a 1:1 mapping of the OpenGL API. I was able to use various C++ OpenGL tutorials and books to accomplish my goals. I used the super-helpful TileSaver classfrom Marius Watz to generate hi-res renders.

Noise Column Triptych Prints

Now after all this, I realized that it was time to take the plunge and start getting closer to the metal. Thus began the next port of Noise Column; this time I went to C++.

I’ve been reading Stephen Prata’s C++ Primer Plus for the last couple months on and off. For me, learning from books makes sense. Moreover, learning the reasons for writing the code you write is so essential for retention for me. This book is simply great.

So for the C++ port, I moved over to openFrameworks as my C++ framework. OpenFrameworks is great, but there’s still a long way to go before it becomes the Processing of C++. Regardless, I had learned just enough C++ to figure out how to port all this stuff over. Two days later, I was able to generate a moving version of Noise Column:

Now it’s time to start doing stuff with “real” 3D in OpenGL — a dimension I’ve got nearly zero experience with.