Solution for finding the normal of a point in a sine wave from this Gamedev forums thread. I had to solve this problem to calculate the normals of the moving tentacles, because each tentacle is a cylinder deformed by a vertex shader with a sine wave. I need to learn calculus. :-)

I feel that I haven’t explored 3D graphics in my projects so far, so that was one thing I wanted to do this time. But 3D graphics implies lighting, texturing, shadows, which are all difficult problems to solve. In the end, I only used one directional light and wasn’t able to implement shadows nor ambient occlusion.

Another important thing was sequencing. One person on Vimeo commented that untitled 246 lacked some sort of ending, and I agreed. Even abstract visual graphics can benefit from some sense of storytelling. I think this time there are too many things happening in the ending scene, but not much changes between the first and the second sections of song, so there’s an imbalance.

Conclusion: I think I tried to build something too big (or too complex) for my current OpenGL skills. Have to keep studying. Next time I’ll probably try something a bit simpler, though. :-)

PS: 2010 has been a busy year, I’ve worked on some interesting Flash development projects, but none of them are public yet. Hope to be able to show them soon!

The song is Second Trace by Filipino band Moscow Olympics, from their recently released debut album Cut The World. Although the band’s musical references are clear (post-punk, shoegaze), their music has that ineffable quality that makes it stand out.

It seems that computing a Voronoi diagram with mathematical accuracy for a real-time animation is not really feasible. I found this Processing hack that takes advantage of graphic acceleration to draw an approximate Voronoi diagram. It works by drawing 3D cones at the points of interest of the diagram and rendering a top view — the regions are drawn automatically as the Voronoi edges sit on the intersections between the cones.

Using this hack, it is possible to make a real-time Voronoi diagram animation, albeit with a limited number of points and a restricted applet area. This video was rendered with 364 particles (= sum of powers of 3 from 0 to 5).

Voronoi diagrams display areas of influence of a set of points in a plane. And they can also be used to create beautiful, organic images.

But even though constructing a Voronoi diagram geometrically seems easy, computing it efficiently can be quite hard. I’m still trying to figure out both Fortune’s and Bowyer-Watson algorithms, but as a first and quick exercise I implemented a naive algorithm with Processing and generated a short animation.