Watch the HD video on Vimeo.
Or click here for the realtime version (Java applet). A good graphics card is required.
- Algorithm for even distribution of points on a sphere from CGA FAQ wiki, used for uniformly distributing tentacles over a spherical body’s surface.
- Introduction to Catmull Rom Splines by Robert Dunlop, used for interpolating camera’s position.
- Per-pixel lighting GLSL shaders from Lighthouse3D.
- Billboard particles code from this OpenFrameworks forums thread.
- 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!