Creating Shaded Relief in Blender

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.


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.


As Leland Brown has put it, this looks sort of like wrinkled tinfoil; full of sharp edges.

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.

  1. Getting Set Up: We begin by downloading Blender and preparing a heightmap
  2. Blender Basics: Here, we’ll learn to navigate the software
  3. The Plane: We shall set up a plane mesh and apply a heightmap texture
  4. The Camera: Let us prepare to image the plane correctly
  5. The Sun: In which we cast light upon the plane
  6. Final Adjustments: Here, lingering settings are finally adjusted
  7. 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!


The Colors of Mars

I can’t quite remember why I started, but for the past several weeks I’ve been thinking on and off about hypsometric tinting schemes for the planet Mars.

There are a wide variety of elevation coloring schemes that exist for the Earth; I won’t get into details here, but most of them start with some sort of green in the low areas and move through some combination of brown/yellow/orange/red until they reach white in high areas. It’s a visual proxy for land cover, though it’s a rather flawed one.


Typical Earth hypsometric tints, from the Patterson & Jenny Cartographic Perspectives article linked above.

But what we use for the Earth doesn’t entirely make sense on Mars: its mountains are not snowy, nor are its valleys green (of course, we often tint desert valleys green on Earth maps). Setting aside the idea of these colors mimicking land cover, Mars is a vastly different place, and so it feels wrong to me if it doesn’t look different than Earth.

Unfortunately, the great majority of Mars maps (that I have seen) use a rainbow scheme for their hypsometric tints, which make a mess of everything (though they do certainly look different). They are garish and confusing, and also problematic for any readers who have color vision impairments.


A rainbow of colors on Mars, by NASA/JPL/USGS

Some Alternatives

Fortunately, there are a (very) few maps out there that take a non-rainbow approach.


Let’s meet our contestants!

Kenneth Field’s (Is There) Life on Mars? starts with deep purple in the basin of the Hellas Planitia, and then proceeds through some nice rusty oranges before settling on a sandy tan (though its context on the map makes it look more yellow).


Kenneth Field

Henrik Hargitai’s Mars map for Country Movers takes an unusual approach, in that it is at its brightest in the low areas, starting with yellow and turning deep red as elevation increases, and finally finishing off with a little dark pink highlight on the tops of Olympus Mons and the Tharsis Montes.


Henrik Hargitai

My own scheme, which I’ve never actually used except for in this very blog post, is inspired by the colors on the surface of Mars. Due to atmospheric effects, the Red Planet is actually mostly red only if you’re looking at it from space. It’s more brown & tan on the surface, at least if the photos from Curiosity are any indication. I did make the low areas a little reddish just to contrast with the yellow highlands.


Daniel Huffman

Finally, Daniel Macháček’s Topographic Map of Mars takes things in another direction; avoiding the Red Planet stereotype, he opts for blue (and a bit of purple) in the lowlands, moving through grey into a cool brown for the higher elevations.


Daniel Macháček

Honorable mention goes to Eleanor Lutz’s Here There Be Robots. It’s a medieval-inspired map, and it uses a a tint scheme that looks to be based on an Earth hypsometric tint scheme. On that account, I didn’t include it above (though it’s a lovely work and you really should check it out).

Other Observations

  • All of these schemes do a good job of highlighting the Martian dichotomy — basically, the northern hemisphere is a few kilometers lower than the southern hemisphere.
  • One good thing about a typical Earth hypsometric scheme is that it includes a wide range of colors (greens, yellows, oranges, greys, etc.), which means it can show more detail. The schemes above all cover a narrower color range. But, if you’re going for a color scheme inspired by the actual look of Mars, which 3 of the 4 of them are, you’re kind of limited. Mars is much more uniform in color than the Earth.
  • Much of the Mars elevation range is taken up by four giant mountains. Notice in Ken Field’s scheme how little of the map area is tan, and yet that tan covers half of the elevation range of the scheme. Likewise, Hargitai uses a deep red to cover a pretty large chunk of the elevation range.

These are the only non-rainbow Mars schemes I’ve found. You might know of some others, but in any case I was a little surprised at A) how rare they were, and B) the degree of variation among them. By collecting them in one place, perhaps I’ve given any future Mars mappers some inspiration for their efforts.

A Cartographer’s Story

In the years since I wrote On Salvation, I have received a number of comments about how it’s resonated with other people in the field (and without). I’ve long felt we, as a community, need to hear more stories like this. In any creative field, including cartography, there’s a lot of emotional investment in the work, and learning about that is just as important as learning technical skills.

So, John Nelson and I are launching a new project: A Cartographer’s Story. Drop by and read stories from your fellow mapmakers about the personal & emotional relationships they have with their work. And please share yours: we could all befit from hearing about your own journeys.

An excerpt from the website:

Every act of creation is personal. Behind the cartographic theory, tools, and techniques, there is a human being who struggles, who triumphs, and who is driven by more than just a need to earn an income.

While our community has a rich culture of sharing project walkthroughs and clever tricks, our colleagues also need to hear about the personal and emotional relationships we have with our maps. We invest ourselves in creating works that are meant to stir the hearts and imaginations of others—and in return our works invest in us. What are your stories? How has mapping moved you or changed you? Did it encourage you through a tough time? Teach you something about yourself? Represent a significant relationship in your life?

None of us is alone in finding empowerment, redemption, or salvation in our work; this is the gift of working in a creative field. Please consider sharing that gift by telling us stories about the power your maps have had within your own life.

We’ll see you there.

Financial Transparency

As a freelancer, I often wonder how I am doing financially as compared to my colleagues. Not out of a sense of competition, but just to answer the persistent question: is this normal? Am I earning a “typical” living? Do I get an unusually small or large amount of money from selling prints? Things like that, born of curiosity. I can look at the great work of a colleague and think it’s valuable, but the big question is: does the rest of the world value their skills the way that I do?

I find the financial opacity of the freelance world a bit intimidating, and I suspect that some others do, too—particularly those who are interested in freelancing, but haven’t yet jumped in. So I’d like to do my part to lend transparency by laying out my financial picture for all of you. Maybe it’ll be valuable for someone, and if so, I’d be interested to hear about that in the comments.

Freelance Earnings

I have been freelancing since I took my Master’s degree from UW–Madison in May 2010. I pretty much exclusively make static maps. Perhaps someday I will become interested in making interactive maps, but for now I’ve focused on an ArcMap/QGIS and Illustrator/Photoshop workflow.

I had only a scant few projects before 2012, and in any case my pre-2012 records are a bit disorganized, so let’s start after that. My earnings from freelance cartography have been:

2012: $12,016.34
2013: $20,352.75
2014: $8,508.58
2015: $10,881.25
2016: $22,795.00

I have also earned money from some other non-mapping freelance work. I do editing and layout for Cartographic Perspectives, and I’ve done some bits of paid writing, other design work, etc. This income isn’t terribly relevant to those who are wondering about the mapmaking business, but I’ll include it here for the sake of completeness:

2012: $1,128.08
2013: $1,528.00
2014: $7,014.00
2015: $10,194.00
2016: $2,000.00

These bits of side work, as well as my teaching (below), have been very helpful in leaner years.


I teach from time to time at UW–Madison, covering the Introductory Cartography course. Again, not too relevant to the subject of freelance earnings, but perhaps interesting if you’re curious about what adjunct teaching pays. My take-home pay for one semester of a 40% appointment is $6,954. This number seems to compare favorably with what I’ve seen posted at other institutions, or heard from colleagues elsewhere.

Sales of Prints

Finally, the last piece of the puzzle is sales of prints. Instead of making maps for clients, I sometimes (or often) spend time making maps for no one in particular. And then I’ll put them up on Zazzle in case anyone wants to buy them. I’ve also occasionally printed maps locally and sold them through an art store or by word of mouth. But Zazzle is where almost all of my sales happen.

My earnings from sales of prints:

2012: $772.39
2013: $678.68
2014: $270.19
2015: $116.52
2016: $797.54

I don’t usually do any sort of marketing other than a tweet or two, plus a link on the blog leading to the Zazzle item, so those figures could potentially be higher if I tried harder.

And, if you’re curious as to what sells and what doesn’t, here’s a breakdown of Zazzle sales:

Again, if I tried to market these, I might be able to push a few more. Getting them into local stores can be tough because printing costs are pretty high unless you want to order them in quantities of hundreds, and thus stores either have to accept a tiny margin or offer the posters at comparatively high prices.

Fame and exposure are generally free, and often much more plentiful than actual payment. It takes a lot of clicks before someone actually buys—I have also seen this behind the scenes with the Atlas of Design. I often see colleagues whose work gets a lot of attention, and who are offering cool prints, and wonder if they are receiving lots of praise with little money behind it.

Concluding Thoughts

I never really intended to be a freelancer, because I dislike instability, and the numbers above fluctuate wildly. But I fell into it accidentally anyway, and it’s been great, but it’s definitely not a life I would have been able to choose if I had to worry, for example, about dependents. I’ve also had the advantage of a safety net, in that my partner Kate earns much more than I do and, in the early years, carried well more than her fair share of our joint expenses.

I also haven’t been able to save for retirement very much these last few years, as I’ve been focused on more day-to-day expenses. Fortunately, a sizable recent contract has given me an extra boost that will soon let me finally put some money away.

I hope all this stuff above offers some useful insight as to one freelancer’s life. I’m sure some others earn more, and some others earn less. I’d encourage others who are comfortable doing so to share their own financial information, to make the picture a little broader.

An Arrangement of Islands

As per my usual modus operandi, here’s two versions of a little something I made for no other reason than love:

Classic Overview.png

“Classic” version — click to view a PDF


“Hip” version — click to view a PDF

It’s a very large poster — 24″ × 36″, in fact. So, I recommend clicking those images to browse around the PDF versions. Or just look at this quick pair of detail images, instead:

Details of the two styles

Details of the two styles

Notes on the Design

  • A few people have asked me if this poster shows all of the islands in the Great Lakes. The answer is no. There are roughly 35,000 others which I did not have space to include. I have shown the largest.
  • They’re not quite in order of size. I did a little shuffling within rows, to help things look a little more visually even.
  • There’s some room to quibble over what is an island in the Great Lakes. Wolfe Island is at the mouth of the St. Lawrence River as it enters Lake Ontario. Walpole Island is formed by the delta of the Saint Clair River, and in any case isn’t on one of the five Great Lakes proper. I erred on the side of inclusion.
  • Despite that inclusive stance, I did not include Copper Island, which owes its island-ness to a canal.
  • I love the three stages of waterline perception on the Classic version. From far enough away, it looks like a simple stroke around the islands. As you get closer, it looks like a shadow, instead. And closer still, you can see the parallel waterlines.
  • I started out with a very minimal design concept in my mind, then quickly started loading it up with unnecessary stuff. “Hey, what if I add towns, roads, parks, rivers, etc.?” Then I slowly, and thankfully, started dropping each of these elements, sometimes because it seemed like a big hassle, and sometimes because colleagues urged me to keep it simple and clean. Which was the entire point, as I had forgotten.
  • Lake Erie does have islands, but the largest, Pelee, was just a bit too small to make the cut. Perhaps I’ll someday do a “Part 2” poster, featuring the next group of islands in the size sequence.
  • I used Adobe Caslon for the Classy version because I knew it had great swashes.
  • I used Mostra Nuova for the Urban version because I paid too much for those fonts to not use them in every single project.
  • I used CanVec 250k data for Canada, and for the US I used TIGER/Line data that I simplified to match the Canada data.
  • Fun/annoying fact: I could not easily obtain land polygons, so I used waterbody polygons instead, then inverted everything to get land shapes.

As per usual, I’m putting these up on Zazzle, in case you are in the extremely small group of people who want to pay money for something like this (if you’re curious, I usually get zero sales from these projects, but I’m not really in it for the money so it doesn’t much matter). Or you can just go grab a PDF above and print one out yourself.

The Power of Appearances

The other day I managed to pull off a fairly complicated Illustrator effect that I was rather proud of, and I wanted to share it today with all of you and talk about how I did it. While you may not ever want to reproduce this exact effect, hopefully it will give you an idea of the power and flexibility of a couple of my favorite parts of Illustrator: appearance attributes and knockouts. I talked about these two particular things in a recent post, and so if you’d like a little background, head on over there first. Here, I’ll be working from the assumption that you’re familiar with these concepts.

Quick Background

I have been working on a series of ecological maps for a client, and one of the things they show is the range of various species: either their total annual range, or their range for a given season.


The client then asked me to develop a way to show both at once, where the seasonal range edge overlaps the total range edge. So, this is what I came up with, and what I’ll break down here.



Let’s start with a blue dashed stroke. It my case, it’s 16pt, with 10pt dashes and 5p gaps. And I’ve set the dashes to align to corners and ends so that they look a little tidier.


I really only need an inside stroke here, rather than ones that goes on both sides of my path. But, you for some reason can’t do an inside stroke in Illustrator if you’re also using the “align dashes” setting. And I do want to keep the dashes aligned, because they tend to look a little nicer and more even in my opinion.

So, to work around that, I will add another stroke on top (9pt), this time solid and outside.


Then I’ll set it to 0% opacity, and turn on Knockout Group for the whole object appearance. So, now the outside portion of our dashed line is gone. If any of this is unfamiliar, I would again recommend reading this post, which will give you a hopefully-adequate sense of how appearance attributes and the Knockout Group setting work.


So, now I’ve got the blue portion of the stroke finished. Let’s add the grey portion on the outside. I’ll add another stroke, this one grey, 4pt, and with the same dash pattern.


Only the portion that’s inside the path shows up. The outer portion gets knocked out by that outside stroke we set up, above.

Here's what it looks like with the outside stroke turned off.

Here’s what it looks like with the outside stroke turned off.

Now, I want a little gap between the two strokes. Let’s start by creating a new, 0.5pt stroke. Color doesn’t matter, but I’ll make mine red to stand out.


Now, I use the Offset Path effect to shift this thing inward by 1.75pt.


And then I set it to 0% opacity. Since we’ve got Knockout Group on, it knocks out the stuff underneath, leaving a 0.5pt gap between our grey and blue strokes.


For the final portion, I want to make these dashes fade away as they get toward the center of the shape. I like the softness of the look, and to me it also imparts the idea of “the species stays on this side of the line,” which is important when the shape is large enough that the reader might not always be able to see the whole thing at once.

I start by adding a fill on top of everything, and offsetting it inward (2pt in this case). This means the fill doesn’t start until just after the gap. Right now it’s covering the blue stroke.


Next I apply a 4pt feather to the fill to cause it to fade at the edges. Make sure to add this feather after (below, in the order of appearance layers) the Offset Path effect.

And then I set the fill to 0% opacity. Because of the Knockout Group setting, the blue stroke fades out as the invisible fill fades in.


And that’s the effect! Here it is in use on an actual map:


It does not always look great when going around hard bends or corners, but I don’t generally have those in the situations where I’m using it, so I don’t mind. Dashes often get pretty tricky in those situations.


The nice thing is that this is all one object. You could achieve a similar look by creating multiple paths all stacked on top of each other, but by doing it all on one object, it’s more flexible. If the shape needs to change, you don’t need to update multiple copies, each with its different stroke styles.

Again, I imagine that you probably won’t ever need to reproduce this exact style. But I hope this step-by-step gives you some ideas as to what sorts of cool things you can do by messing around with appearance attributes, knockouts, and effects.

A #PractiCarto Archive

For the past few months, on Twitter, I’ve been posting brief practical cartography tips every Tuesday using the #PractiCarto hashtag. You can click on the tweet below to read a thread with my whole rationale, but the short version is: by keeping it short, it makes it easy for me to share, and it makes it easy for the reader to pay attention — and thus, I hope, there are more chances to share knowledge.

This blog post is simply meant to collect my own #PractiCarto tweets all in one place. A few colleagues have also made use of the hashtag, which is great and exactly what I was hoping for.

Stephen Smith has put together a little notifier that will send you an email every time someone uses the hashtag, so that you’ll never miss out on useful mapping advice.

My #PractiCarto Archive