I’m sure this has been done before, but after being inspired by Robert Hodgin’s Audio Driven Landscape, I decided to use my new Terrain class to make something sexy and moving.
I’m not sure if I ended up being successful with the sexiness… but this thing sure does move. What I’m doing here is mapping a video on to a terrain, with the terrain’s depth based on pixel brightness per frame. When you load in a movie–taken, say, from a train–you get a pretty interesting warped image. It adds a level of depth that I wasn’t expecting. It also has a interesting cloth-blowing-in-the-wind thing going on (without fancy Verlet integration)…. Looking from near ground level corner-to-corner is the most exciting.
No tutorial on this one, but the source code is here (includes the sample video)… and I’ve embedded my very first Vimeo video below.
A few notes:
- The Terrain class is still pretty young… and not optimized for this type of thing. It uses a relatively slow iterative smoothing function to avoid spikes.
- The points that define the terrain should be eased between new coordinates, rather than just moved. That would make this whole thing a lot less ADHD. It would be easy to do… the easing functionality is already built into the Point class.
- If you download and run the thing, click on the applet to give it focus, then use the arrow keys to rotate the terrain. Holding down any mouse button toggles the display of the movie as a texture map.
Let me know what you think!