Houdini - Mapbox - Mount Williamson test

Stumbled across indie pixels mapbox tutorial. This is part of the Game Dev Toolkit. Need to sign up for a free account at mapbox.com .

It’s quick, fast, accurate (much tighter lineup in 3DE), gets height map, satellite image for base colour and osm street data.

How far you zoom will affect the resolution of satellite data. Here the zoom level is 13.

4 pieces. Each piece is a 2048x2048 heightfield with 4 million voxels. Bloody dense. Needs optimization.

Mapbox geometry with 60mm film back. Tighter lineup. 80mm focal length. f64.

4x Mapbox geo. Sky light using lat long date and time.


Houdini MOPs subdivider experiment v003

Bare bones test. Platonic. Scaled shape fall off. Subdivide. Delete everything but points. Connect adjacent points. Orbit camera with some DoF and motion blur. Glow added in Nuke because why not.


Probably going to go overboard with this but the goal is to see how far, how much detail can I get out of the Heighfield tools before going to a displacement map. Using an estimated sun based on Long/Lat and a summer afternoon in July which sounds like the time Ansel took the photo.

Global Erode. 42 frame sim. Could possibly do more. Just a really harsh blocking to remove the soft lumpy-ness of the GeoTIFF.

Mask by Feature > Curvature + Height with falloff and blur. Adding back in the rockiness.

Display Layer Maximum combining fine Distort Noise with the previous mask.

2nd pass of Distort Noise + Erosion.

THERMAL erosion wants to turn everything into desert and as such reduces the height and key features of the GeoTIFF peaks.

HYDRO starts eroding the the bottom 1/3 of slopes as that is the main area where water would be built up and moving quickly and as the sim goes it creeps up the mountains and spreads out over the plains.

So need to keep reintroducing the GeoTIFF to maintain the iconic silhouette.

Reintroducing central peak shape.

Well found the limit of my laptops graphics card after 4.5 million voxels and trying the 6th custom Heightfield Erode, display just went blank and came back at 800x600. After cropping do the Heightfield tighter to the camera I’ve managed to resurrect the scene and finalize the bottom 1/3rd. Still quite a few areas I reckon could improve but for now I think this is good enough. Will revisit and try something more efficient from what I have learned.

1.2 million voxels. Some good, some bad.


Camera: 8 X 10 view camera

  • Lens: Cooke Series XV lens (a 12 1/4 -inch triple convertible with components of 19- and 23-inch focal length).

  • S.E.I Exposure Photometer

  • Film: Kodak Super-Panchro Press film (ASA 200)

  • Filter: Wratten No. 15 (G) filter

  • Exposure: 1/10 second at f/32.

  • Development: water-bath (holds the high values within printable range, but also strengthens the shadow-area contrasts.

  • Paper: Ilford Gallerie Grade 2 with Dektol or
    Oriental Seagull Grade 2 with Selectrrol-Soft and Dektol

  • Exhibition: Mount Williamson was installed in the Family of Man exhibition at the Museum of Modern Art in New York, (1955), curated by Edward Steichen, but Adams was disappointed with what he considered a "badly enlarged blow-up" of his work.


So 482.6mm - 584.2mm.

Using 3DEqualizer and the Houdini Heightfield I created and scaled from the ASTER GDEM GeoTIFF as survey I arrived at a focal length of 516mm. Pretty good but the film back is wrong as it is in cm lol. So close. Film back should at least be 6cm but definitely not 24cm. For now it looks good - time to move on. I have chosen not to calculate distortion as it is close enough for my purpose.

Houdini Heightfield lined up with focal length calculated in 3DEqualizer to Ansel Adams' Mount Williamson.

In Maya QC of ground with 1m cubes. It’s looking good!


Using average 1 ° lat/log = 111.133km


Height + voids%

15.257 % 4383 = 668.71

668.71m + 4383 = 5051.71 *with 17m error


use “Heightfield File” to import your GeoTiff.

Size Method = Size of Largest Axis

Size = tile size of your GeoTIFF = 1 degree lat x 1 degree long for ASTER GDEM.

***So far below is the best method I have found - not perfect at all. I would like to put our Remapped Height directly into “Height Scale” and have it work but it just doesn’t.

Make a “Box” and scale in Y to the size of your elevation + voids. Basically a measuring stick.

“Transform” this in until it is directly under the feature your have a measurement for, add some Height Scale as necessary to visualise.

Then adjust Height Scale till you get the exact height. (yes it’s not really exact, I know.)

***For the Mount Williamson tile I then noticed the desert floor is above sea level. So I went back into Google Earth and got an elevation for the desert floor.

Beck into Houdini made another Box and scaled in Y to the elevation from Google Earth and QC’d the desert floor. IT MATCHED !!!

So now I feel like I have an accurate model of the environment at scale with correct height so the slope angles of the mountains are close to real world.

Real World scaled ASTER GDEM applied to Houdini Heightfield.



Download USGS Satellite Imagery at http://earthexplorer.usgs.gov/

Create account and either search or click map of desired area - feature.

Enter date range. 2000 - to today.

Height maps = Digital Elevation> ASTER GLOBAL DEM

High Res Colour maps = Aerial Imagery>High Resolution Orthoimagery

Click ‘Results’.

‘Show Browse Overlay’ displays a preview of the satellite image on top of the world map

‘Show Metadata and Browse’ contains dates, coordinates, etc.


Tile size = 1° lat x 1° long

1° x 1° = 111.699km at equator 110.567km at poles.

average = 111.133km

3601 columns x 3601 rows

pixel size = 1 arc second

1 arc second = 30.87m (? I guess this also changes)

3601 x 30.87 = 111.16287 km (? this number comes out a bit above the average)

*Either stick to average or use Area by Lat Long coordinates for exact measuments)

16bit TIFF with 65,536 levels of grey and -9999 levels for voids (Ocean, caves etc)

Sea level = 9,999 grey.

So for land elevations relating to sea level need to add 15.257% to remap accounting for voids. (9999/65536x100)

Inherent 95% accuracy with 17m degree of error in height.

Which allows for a small % to add or reduce elevation in Houdini etc.

MOUNT WILLIAMSON - Ansel Adams - recreation

Mount Williamson by Ansel Adams. The inspiration.

MetaShape - 300x 4k images from Google earth - Medium dense point cloud - *If I set it to high after a day my machine just freezes lol.

Houdini - geoTIFF - way larger than what I need.

Crop out Mount Williamson.

Transform back to center. And Modify menu - Move pivot to center.

Then scale up to match reality - and arbitrary move TY back down to zero. ***Nope got it wrong see later posts.

Now trying to line up MetaShape geo with my scaled geoTIFF terrain.

Aligned - geoTIFF has more verticality than the google earth point cloud geo.

Finally a Ansel camera match and lineup just on the Metashape geo

Google Deep Dream Experiments

As I understand it Google's DeepDream software uses libraries of images and then looks for those images in whatever image file you give it at various levels of detail based on how you set the Octaves up. And it will iteratively apply the filter again and again to bring out what it thinks it finds.

The first few layers bring out patterns. The middle set of layers eyes start to appear. Then the last set of layer settings bring out dogslugs, sankes lizards, then architecture. But so many cute doggy faces...

So it has a very specific look and style. Not completely random. Why so many dog faces?

Sometimes like a bad photoshop filter but sometimes wonderfully surreal.

How can I use it effectively?

'American flag' test. (Could of used any national flag but this is inspired by Hunter S Thomson's "Fear and Loathing in Las Vegas". Deep Dream and the American Deep Dream just fit so well together.)

'Uncle Sam wants you' test. Eyes. Again seems to fit well with the revelations of how we are all now being watched 24/7.

Ok, what if I give it nothing... just white pixels to dream on?

Wow! Was surprised it worked as the image is pure white with zero noise variance.

Ok what about black?

Again totally unexpected. The cuteness has become quite evil and disturbing.

And finally 50% grey for all the concrete everywhere.