Trying Out Rendering Methods

I’ve been struggling with rendering my heightmaps for a while now. My last Update post was more or less venting about how I wasn’t sure whether to attribute flaws and improvements in my heightmaps to my actual heightmaps or the color schemes I was using to render them. Whenever I code a new feature, I run the program and judge how the terrain looks. But I can make very mountainous and noisy terrain look flat or vice versa just by changing the color scheme (especially considering the color scales I use are stepwise linear mappings). Ideally I would use a full 3D renderer to judge the shape of the terrain, but “ain’t nobody got time for that.”

Luckily Amit Patel recently posted about some techniques he’s using to render maps in mapgen4. They can produce 3D-looking maps without requiring a full 3D renderer. I tried out two of them: projecting some of the z-axis onto the y-axis and 2.5D-shading calculations. Here are the preliminary results.

Shear only (1)
Shear only (2)
Shear and Shading (1)
Shear and Shading (2)

Patel also uses some lighting but I think this is good enough for me already. Since the shear is a simple linear function, I have a close to objective measuring stick with which I can assess the shape of the terrain. The outlining and underlying colors are still arbitrary and need tuning to make sure they’re not seriously misrepresenting the terrain.

From this rendering method, I can see that my color maps have been visually suppressing mountains, and in compensation I’ve been cranking up the mountains. Most of landmasses are completely covered in mountainous terrain.


I’ll post about how I approached simulating faults and generating mountain ranges and other tectonic plates features on Monday.

While I was doing a second pass through mountain formation, I found that mistakes are much more fun with the 2.5D renderer.

Mountain noise is 10x higher than it should be