I've done things in the timezone of what's going on here. My method:
- Get the altitude data for the area you want to work with. Pretty sure I had to make an account at the usgs.gov page. They had a peculiar web app where I was able to query locations and download the data. The data came in lots of formats, the one I managed to import into photoshop was an ultra high rez TIFF iirc.
- Optionally convert the grey scale height map into a normal map. I did this with nvidia's tool. I think normal maps made my results look better (probably at the cost of some accuracy, idk. You get more bytes of data using the whole color space, so it's probably better)
- Import the normal map into 3d modeling software. I used blender.
- Set a super sub divided plane's displacement map to the image you created. Dick with the z-axis scaling until it's sufficiently accurate / inaccurate for what you're trying to do.
- Render? Pull back into photoshop? Draw your annotations? You can mess with levels of your original height map (control+L) if you want particular altitudes masked out for coloring water or something. There's about a trillion things you can do from where. In the 3d world, I'm a huge fan of tri-planar materials.
Based entirely on the hashtags he uses when tweeting about them (since he didn't respond to the same questions there as far as I saw) I think it's a combination of QGIS and Blender.
I particularly enjoy the “old-school” 3D maps.