Welcome! This is the long-awaited text version of my Blender relief tutorial, following on the video series I did a few years back. If you’ve already seen the videos and are returning for a refresher, note that I use a somewhat different method now, so don’t be surprised if you encounter unfamiliar settings.
This tutorial will take you an hour or two to get through — but I think the results are quite worth it. More importantly, note that your second relief will take much less time than this first one, since most of the work you’ll be doing can be saved and simply reloaded for future relief projects. Once you’ve invested the time to get comfortable with it, this technique can fit within ordinary production timelines.
Tutorials like this take a surprising amount of time to develop and maintain. This tutorial is, and will remain, free, but if you derive some value from it, you are welcome to make a donation to support my continued work.
Version 2.3 (Jan 13, 2022) — Edits to the last page, including a link to a discussion of how to make Blender relief look less Blender-y, and an updated oblique map.
Version 2.2 (Dec 05, 2021) — Blender 3.0 is now out. Significant revisions to screenshots. Discussed render performance earlier (as it bogged down for me earlier in the process). Denoising is now default, so I adjusted that section and removed a good chunk of it.
Version 2.1 (Oct 30, 2019) — Added step in Chapter 6 to change the heightmap’s color space, to avoid lowlands being washed out.
Version 2.0 (Sep 29, 2019) — Major revision for Blender 2.80. All screenshots replaced to reflect the new UI. Many steps rewritten to reflect new interface elements and new names for tools/features/menu items. Removed some no-longer-needed material, such as UV unwrapping, are no longer needed. Thanks to Diane Fritz for her notes on changes, which helped me double-check my work.
Version 1.2 (May 14, 2018) — Added new section in Chapter 7, pointing readers toward the idea of rendering relief on a pre-colored plane. Suggested by Anton van Tetering.
Version 1.1 (Jan 29, 2018) — Changes to Chapter 6: Added section on denoising, and alterered render settings to suggest using Limited Global Illumination. Both of these tips are courtesy of Dunstan Orchard.
Version 1.0 (Nov 16, 2017) — Initial release of text version.
Why Blender? In short: Blender makes better-looking relief. Most of the cartographers I know do their shaded relief in ArcMap or another GIS program, or sometimes they use Photoshop or Natural Scene Designer. All of these programs use basically the same algorithm, and you get a pretty similar results, as seen below. This standard GIS hillshade looks OK, but it’s rather noisy and harsh.
Blender, on the other hand, is designed specifically for 3D modeling. People use it for CGI, animations, and plenty more cool stuff. It’s intended to simulate the complexities of how light really works: the way it scatters, the way it reflects from one mountain to the next, and the way its absence creates shadows. Here’s Blender’s version of the same area:
Notice how it’s softer and more natural. The peaks cast shadows, and then those shadowed areas are gently lit by light scattered off of nearby mountain faces. Notice also how the structure of the terrain becomes more apparent. In a standard hillshade, I think you lose the forest for the trees. Here’s a side-by-side comparison of the two methods:
Blender’s result not only looks more attractive and realistic, it’s also more intelligible, I think. Certain features of the landscape become more apparent — look at the valley below, running northeast-southwest. It’s hard to tell how wide it is, or that it’s a valley at all, when looking at the standard hillshade. But the Blender relief makes its structure clear, thanks to the improved modeling of lighting.
Whereas the standard hillshade algorithm makes pixels lighter or darker based solely on which direction they’re facing, Blender looks at the scene’s context, and whether that pixel is in a mountain shadow or is in a position to catch scattered light. The result is a more attractive, more understandable relief.
Table of Contents
This is a fairly long tutorial, as I mentioned, so for your convenience I’ve split it up into multiple chapters.
- Getting Set Up: We begin by downloading Blender and preparing a heightmap
- Blender Basics: Here, we’ll learn to navigate the software
- The Plane: We shall set up a plane mesh and apply a heightmap texture
- The Camera: Let us prepare to image the plane correctly
- The Sun: In which we cast light upon the plane
- Final Adjustments: Here, lingering settings are finally adjusted
- Advanced Thoughts: For your consideration on future days
Please enjoy, and if you see any errors (either typographical or of fact), please do let me know. I hope that this tutorial empowers you to produce work you can be proud of!