Ah the nostalgia of the pipes….

Here are not just one, but two funny stories about the venerable screen saver.

And perhaps something you never knew about it.

However, one neat feature about our version here is the follow camera that Richard came up with, and implemented.

The background behind this, is that I had been wanting to create a version clone for quite a while, because it seemed like a cool effect, that would be fairly easy to implement.  However, the one thing that had me stumped was how to dynamically create the pipes.  

After thinking about it for a bit, we came up with three possible ways that it might be done:

  • Cylinder for each grid unit (Computationally expensive maybe?)
  • Move vertices. (Done with shader - complicated?)
  • Scale a cylinder along a single axis

#1 Seemed hard to animate #2 Would be possible by using geometry.verticesNeedUpdate = true;, or worse, by using vertex shaders.

Ultimately, #3 is what we ended up going with. Note that we could have moved the pivot point of the geometry, but that would require a call to  geometry.applyMatrix. Unfortunately, I feel like we barely scratched the surface of interesting things that could be done with the pipes, but maybe we’ll get around to some of them for part II?

Here is a list of some features which may or may not be there:

  • More materials (Brass, wood, glass with neon fluid, candy canes, etc…)
  • More models (joint elbows, lo-poly pipes, bézier pipes, bamboo, environment)
  • Misc (collisions, Hilbert curves)