title: How is a 3d perlin noise function used to generate terrain?
body: <p>I can wrap my head around using a 2D Perlin noise function to generate the height value but I don't understand why a 3D Perlin noise function would be used. In <a href="http://notch.tumblr.com/post/3746989361/terrain-generation-part-1" rel="noreferrer">Notch's blog</a>, he mentioned using a 3D Perlin noise function for the terrain generation on Minecraft. Does anyone know how that would be done and why it would be useful? If you are passing <code>x</code>, <code>y</code>, and <code>z</code> values doesn't that imply you already have the height?  </p>