Project 3 – Paul Miller and Timothy Sherman

by ppm @ 12:53 pm 21 February 2011

Magrathea uses the kinect camera to dynamically generate a landscape out of any structure or object. The kinect takes an depth reading of what’s built on the table in front of it, which is then rendered live onscreen as terrain using openFrameworks and OpenGL.

The depth image is used as a heightmap for the terrain. A polygon mesh gradually morphs to match the heightmap, creating a nice rise and fall behavior. Textures are dynamically applied based on the height and slope of the mseh. For example, steep slopes are given a rocky texture, and flatter areas a grassy one. As the user builds and removes, the landscape correspondingly grows and sinks out of the ocean, shifting into a new configuration.

Landscapes can be made from anything, such as blocks, boxes, the human body, and even a giant mound of dough.

We both learned OpenGL and openFrameworks for this project.

If we were to continue this project further, we’d do so by adding more textures with more complex conditions, learning shaders and improving the graphics, populating the world with flora and fauna based on certain conditions, and possibly allowing for color-coded objects that could be recognized and rendered as specific features, say, a statue, or giant Yggdrasil like tree.


  1. Hi Paul, Tim. Please document your project here.
    Below are the class comments from the Etherpads.

    Love the growing/collapsing effect of the landforms. So gorgeou! Some rounding on the endges of your shapes maybe would make it look more natural than the hard square edges most of the objects have. nvm, lookgs great with the playdough, despite the jitteryness.

    Try kneading the dough first like bread. Gets significantly less sticky after a coupele minutes. (or at least bread dough does)

    it would be nice to export some of your favorite landscapes and 3dprint them or generate tooling paths for cnc equipment. What was the resolution of your depth data? i like the flat space…but it might be nice to map this to a sphere…build worlds…send some ships through there…

    I think this is pretty cool, nice proof of concept for a process that could be pretty useful. I feel like the next step for something like this would be an interactive piece at a children’s or science museum.
    It would be nice if you had used better textures so it didn’t have the old school video game aesthetic. RETRO GAMES!

    Nice. Perhaps you could use some noise reduction or normalizing, it seems like the landscape is still a bit jittery even when the playdough isn’t moving. Dynamic texturing is great ;)

    Very nice, if you wanted to interact with things on the lanscape , like wildlife, it may be worth being able to freeze an opject as a land mass so that it would be easier to interact with. Its very nice though, interesting technical stuff, the graphics could use some work, but its still excellent. Minecraft.

    Impressive. The flickering (during playdoh play) is a little distracting, but the solid objects are charming. I like how placing objects closer and further created new spaces beyond the physical objects. Nice touch with the different terrain textures. (I actually like the graphics as is, gives it a “home-brewed” vibe.)

    This is pretty cool, but I think you could apply some cubic interpolation to the depth to really make it shine.

    Great work! Would’ve liked to see a little more difference in height between the lowest & highest points on the land, not sure if your project was capable of that or if the demo just didn’t show it off.

    AMAZING IDEA!! I love this project.

    The rising and falling is a great effect. The graphic textures really lend to the land-forming concept.

    I agree, nice transistions and visuals.

    Really impressive graphics, openGL is hard. A really solid project.

    What a super engaging idea! And it’s got an interesting origin to boot; children playing God is a fun concept. For JUST learning openGL and oF, this is excellent. Play with the body as land more, I think, that could go places… maybed coupled with the color detection?

    Would love to see this concept applied to buildings too! Of course the further develop of this implemenation has a lot of potential.

    Great idea!! I think the speed is very good for playing around. I like the mesh view. And also think it would work great for a music video :)

    Great work. Use of derivative-dependent texturing is an interesting technical detail with significant aesthetic consequences! Be sure to produce a good demonstration video (1 minute max) showing your playdough next to a monitor. Dan sez with kids!

    I like the idea that it uses the depth camera in such an innovative way. Great job! Would be fun if you can play god with it though.. like sounds effects

    sick sick sick

    awesome. I would add freezing, rotation, and zoom to save and navigate through the landspaces … And .stl exporting!!!

    so cooooooooool. your playdo looks like dough. i really like the different textures (grass, dirt, rock, sea) and the logic you put behind it. I’d like to see how it looks with the world’s edges extended all the way to the sides.

    Very slick. Really like your concept. Change in texture with height is a nice detail. Would love to see kids playing with this!

    nice to jump into openGL directly, I’d say you need some smoothign between the points as the mesh is a bit blocky

    very nice live demo, make a very slick video with people playing with it and cool music, get that on vimeo and send it out

    This is really awesome and definitely has a lot of potential, especially as a game mechanic.Maybe having some sort of menu that lets the user choose what type of terrain they want to create (icebergs, arid/desert, foresty, etc). Nice how you have the landscape vary by altitude.

    Really nice demo. When the land rose out of the water, you got a big ‘wow’ factor from the audience. Can you stop the ‘jittery-ness’ by not changing the mesh if it’s within 10% of the last value, or somethimg similar?

    Comment by Golan Levin — 21 February 2011 @ 12:55 pm
  2. Great video!

    Comment by Dan Wilcox — 26 February 2011 @ 3:44 pm

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2024 Interactive Art & Computational Design / Spring 2011 | powered by WordPress with Barecity