I took a trip to Mt. Rainier yesterday. The mountain has loomed over my horizon for all the years that I have lived in the vacinity of Seattle, but never have I confronted it’s imposing mass.
What was a pleasant break from my daily digital world became another humble realisation as to how complex and beautiful the natural world is. Computer graphics researchers have tirelessly sharpened their algorithms over years of research to try to faithfully reproduce the processes we see in nature within a digital medium. I didn’t have the camera quality to really capture the intricate violence of some of these landscapes, but here are a few shots:
What really took me aback was the angry, dirty surface of the glaciers. At scale, these flowing ice monsters were terrifying when you imagined yourself trying to navigate its surface. They sucked to the mountain face like a dry leech and slowly cleaved it in two.
After my trip I spent the rest of the day wondering about some of the algorithms out there that try to recreate these scarred terrains. The sources I came across used various approaches that modeled the effects of erosion on top of a classic noise-generated smooth terrain. Erosions ranged from as simple as rain falling and transporting sediment (called hydraulic erosion), to as complex as including wind, river, and thermodynamic effects. Some targeted real-time applications and others focused on the realism of the generation. Here are some sources and pictures for later reference.
Sebastian Lague’s Hydraulic-Erosion was a nice starting introduction to one of the simpler weathering effects that can be applied to mountains. He wrote a simulation of water droplets falling onto a mountain and carving rivulets that pulled and deposited sediment as they moved down the face.
Sebastian’s work is based off of Beyer’s Bachelor’s thesis Reading Beyer’s ‘Related Work’ section there are many other good sources and it has a good overview of differences in prior approaches.
Further useful links to document for later: paper1, paper2, paper3, paper4,