Blender Tutorial

This tutorial has been deprecated and replaced by a newer version.

As promised several months ago, I’ve finally put together some instructions on how to create shaded relief using Blender. I’ve created a 72-minute, six-part video series that walks you through the process (don’t worry; it doesn’t take that long to do it every time, just your first time). Please share it around! I’d love to see other people making use of this technique, and extending it beyond what I’ve done.

NOTE 1: This video series picks up with the assumption that you have a DEM ready to go. If you need help first getting your DEM ready, you should follow this tutorial by Katie Kowalsky.

NOTE 2: Since I put together this video series, some of my colleagues have made some great contributions that you should be aware of. First off, Ryan Lash (@RRLash) has put together an awesome step-by-step explanation of everything that goes on in the videos, so that you don’t have to hunt around to find the step you missed: Second, check out the comments below. Morgan Hite has been using BlenderGIS to ease some of the issues with Blender not handling spatial data natively, and he’s put together a description of his basic workflow. I’m very happy that people are using and, more importantly, extending the material I’ve put together her.

Make sure you’re watching these in HD, otherwise you may have trouble following along when I click buttons. If you want to follow along with the DEM I am using, get it here:

Meanwhile, if you just want to look at pretty things, here’s the relief I made during the tutorials:


37 thoughts on “Blender Tutorial

  1. Hi Daniel,

    your tutorial is great and i really thank you for time you passed made this video series!! I follow it in every step and it looks great, it’s also giving me suggestions for doing 3D maps with this software. I will save this settings and do it for next shaded reliefs, it looks really better than QGIS shaded relief calculator.

    Just two question.
    I use your same version of Blender (2,69), but there’s some panels you use that I haven’t on my Mac and I can’t find on Blender options.

    a) first, when you try to change color and roughness (Video 3, minute 16,55). I’ve a more complicated panel, especially without roughness parametres, no way to change that.

    b) second, most important, about the Sun Strenght. (video 5, minute 7). Same thing that Roughness, I’ve a more complicated panel.

    c) about last video, all “Light Paths” panel it doesn’t exist in my Blender user interface.

    Results is that my shaded relief is different than yours.
    Do you have any suggestion to change that? I can send you by mail some screenshot of my panels…
    I really thank you again for your time and great tutorial.

    I wish you all the best for 2014.

      • That it is! I switched yesterday but i forgot to do it today. Thanks a lot !

        Did you use this software for 3D rendering too ? It could be awesome if DEM could be adapted as a vector file in Illustrator. Well, this is another story to tell…..

        thanks again, bye !

  2. Daniel,

    Wow! Thank you so much for sharing this method. I had a go, and the results are indeed vastly superior to what I was using before.

    I am in the midst of writing a series of articles on creating and mapping fantasy worlds, and I’d love to incorporate your techniques into my shaded relief article – with full credit given to you for the method, of course. I will link to your blog article, and provide text instructions, which I think would be a great complement to go with your article. How would you feel about that?


    • Thanks for the kind words, and I’m glad you had a good result! Please do feel free to share this technique. If you do a written set of instructions, I might want to link back to those, as well, as I agree that it needs them. I just haven’t had the time to write everything down.


      • Hi Daniel, great video, I loved the way you approached your subject, so simple and beautifully explained. One question though, how do I import my 2d image?

        • Thanks for the kind words. If you’re talking about importing your own DEM, that’s covered in video 3, starting at about the 10:30 mark. If you’re talking about saving your final relief, that’s in video 6 at about the 8:45 mark. Hope this helps!

  3. Blender 2.69
    Hi Daniel, apart from your informative video, can you please tell me how to convert a .Blend file to another format, and how can I save a Blender file as JPEG? I’m sure many guys are asking the same question.

  4. Thanks again for the great tutorial. I’ve been trying to repeat the process for several different areas, and found I frequently needed to reference information from the videos. To make this easier, and useful for others, I’ve compiled a spreadsheet where I attempted to: 1) transcribe the process you describe in your video, and 2) generalize the steps in the process with specific reference to button clicking sequence. I’m sharing it here as a Google Doc for others to edit, copy, and reference if they want. Here’s the link-

  5. Pingback: Friday Reading
  6. Daniel, Thank you so much for these amazing videos. They were perfect for navigating all of the Blender knobs and twiddlybits and now i’m tweaking a shaded relief instead of blender menus. Thank you! I’m getting hung up on one part though. After i’ve completed all of the steps in the video, I can’t figure out how to go back and modify the number of cuts in the plane.

    I select the plane, go into edit mode, and then click ‘Subdivide’ on the left bar. Blender appears to spin and subdivide the plane again, and then ‘Number of Cuts’ value shows up as 1. Is there a way i’m missing to view/edit the existing value for the cuts? (500 in this case).


    • Good question. You can’t un-cut the plane once it’s cut. Instead, you can just cut it again. So, if you did 500 cuts before, and then you re-do the subdivide with a value of “2”, you’ve now cut each of those 500 cuts twice more, leaving 1500 cuts. Does that make sense?

      • For me, simply adding the additional subdivide to the existing cuts works well around 1000 cuts. Once I load in larger scenes and start pushing the boundaries of my system (~5000 cuts or so), my system hangs when I try to subdivide again. There is a little workaround I’ve found that works to reset the plane to its original 4 vertices: With the plane selected, enter edit mode. in the left-side menu, Go: Delete>Dissolve Edges. That will take a long time to process and will delete all vertices except those on the edges. After that is done, Go: Delete>Limited Dissolve to delete all but the vertices on the corner of the plane. Now the plane can be subdivided again on a value of your choosing.

  7. Wonderful tutorial, Daniel! Since I watched it I have been playing around with Blender hillshades, and discovered a few things that you may well already know. If not, you’ll be interested.

    The main one is that there is a plug-in for Blender called BlenderGIS. Its homepage on Github is, and the wiki (which I found quite useful) is at

    This plugin lets you do three interesting things. One is that you can read in a georeferenced raster (e.g., DEM) and it will shift the coordinate system so that one Blender unit is one metre in space. As a result, when you scale your Z values you really know how high you are making things.

    Two is that BlenderGIS reads in a DEM and pairs it with a Subsurf modifier to displace the plane. In brief, this takes a number (e.g., 8, 9, 10,…) and subdivides the plane so there are 2^n subdivisions along each side. (E.g., subsurf of 10 means 1024 points along each edge.) But, you can specify different n for the View and Render modes, so you can view at subsurf 6 (easy to move the plane and set things up) and render at 10 (lots of detail). It uses very little memory (compared to actually subdividing the plane)!

    The third is that it offers you a tool, on a new “GIS” tab, to create a “Georef camera.” This creates a camera whose position and perspective are just right for your DEM. I still have to increase its Z position sometimes after scaling the DEM’s Z values, and I usually have to move the lamp up as well. Its guess at the final pixel dimensions I want is usually wrong as well. But once the DEM is read in twice (“as plane” and “as DEM”), you create a Georef cam and you are 75% done with setup.

    A basic workflow with the BlenderGIS plugin looks like this:
    – Open Blender and choose the Cycles Renderer
    – File>Import>georeferenced raster. Pick your DEM and make sure Mode is “on plane.”
    – Delete the default material assigned to the plane and create a material you prefer
    – File>Import>georeferenced raster again. This time pick the same DEM but set Mode to “as DEM”
    – On the GIS tab, under Georef Cam click “Create/Update”
    – Under the modifiers for the plane, set the “Render” subdivisions to, say, 10, but leave the “View” subdivisions at 6
    – now you’re ready to adjust Z scaling, set the pixel dimensions for the render, adjust light source, and all the other good things that were in your tutorial. Test render, make final adjustments and then do final render.

    If you are working with a large DEM that you have cut into overlapping tiles, you may want to just save the parameters for this render and pull in the next tile to take advantage of the same parameters — in other words, no having to set up the lamp and camera again. Basically, you save the project, delete the plane, read in a new DEM, and shift the coordinate system to it (Set Origin>Geometry to Origin). Then make sure all the other parameters are as you wanted. If you save a number of such Blender projects, you can render them from the command line with a script.

  8. Pingback: Shaded relief with BlenderGIS, part 1 | The Wandering Cartographer
  9. Hi Daniel, thanks for this tutorial.. i’m having a hard time stablishing the actual terrain height, i wonder if you found a way to establish an accurate scale..

    • I haven’t needed to establish an accurate scale, but Morgan Hite has has some success in using BlenderGIS to do this. His notes should be in the comments on this post.

  10. Pingback: Preparing your DEM | Kowalsky Cartography
    • Very likely it’s because the data are in integers or otherwise somehow rounded. So, it may look fairly continuous in the GIS, but there are just too few levels of elevation, and the model jumps suddenly from one integer to another. This is not something on Blender’s end. I would suggest trying another data source, such as Viewfinder Panoramas (for global coverage) or the National Elevation Dataset (for the US/Canada/Mexico).

    • I have had the same issue with OS Terrain data (originally ascii grid), the generation of these artificial terraces or contours.
      For me the reason was that the number of plane subdivisions was far too great. My DTM was far larger scale than Daniel’s so 2500 subdivision was far too high. You are basically exceeding the resolution of your source data. I found that around 250 is where the terraces began to occur.
      I think that for larger scale mapping I will stick with my own technique of converting the ascii grid to a .obj file in FME and simply loading that into Blender. Or simply create hillshading in QGIS which for my larger scale data seems to produce nearly identical results.

  11. Really nice tutorial, thank you for that!

    What I’m scratching my head about now is, how do i get the shaded relief back into qgis/arcgis to make the actual map, without the need to georeference it manually? Alternatively, I suspect that often other software is applied to produce maps or illustrations, like a combination of photoshop & illustrator for example?

    • I generally go straight to Photoshop & Illustrator from that point. However, if you want to keep it georeferenced, that should be fine. If your new relief has the same dimensions as the DEM which you input, then the .tfw file that went with the DEM will also correctly refer to the new relief, since it has the same projection, scale, and extent. So, save your render as a TIFF, and then take the .tfw from your initial DEM output and rename it to match your relief TIFF, and it should read in correctly.

  12. Pingback: A Career Built on Side Projects | somethingaboutmaps
  13. Pingback: Terrain in Photoshop: Layer by Layer | somethingaboutmaps
  14. Dear Daniel,
    I am new to Blender. Since I discovered your posts and talks, I decided to try it for creating shaded relief. I followed the tutorial using the data you provided and it worked very well. Thank you for sharing your knowledge.
    The problem is that I can’t get my own DEM to work. What is the best solution to convert one (an Arc ASCII, let’s say) to a 16 or 32 integer TIF that would work in Blender?

  15. Pingback: Creating Shaded Relief in Blender | somethingaboutmaps

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s