Cyberborean Chronicles

Raytracing Middle-earth


Recently I played with raytracing and POV-Ray for artificial landscapes generation. My goal was to have the realistic “Google Maps-style” images of the Middle-earth terrains to create the maps for Tolkien Gateway Encyclopedia – the wiki project I’m involved in. You can see my first outcome here. This is a reduced snapshot of rendering the whole scene.


I used POV-Ray for Linux raytracing engine and povray scripts from Geomorph tool. For my purposes I had to hack the scripts (sea_and_rocks.pov and basic and tweak them a damn lot of time until I got what I expected to see. It was especially tricky task for me, as I am definitely not an expert in POV-Ray language (what is more, except for few dummy excercises it was my first serious POV-Ray scripting experience).

A source of the relief information is so-called “height map” – a monochrome bitmap where the values of pixels are translated into the heights of the terrain points. It was drawn manually in GIMP on few semi-transparent layers above the scanned real Middle-earth map from “The Lord of the Rings” (the famous Christopher’s map which is admitted as the most authentic one). The layers then were merged together (except for original map, of course) and saved as PNG for using as the height-map. It was also a tricky and lengthy process – as it was non-interactive, I might see the result of changes only after re-saving and re-rendering and it took a lot of time, especially at final polishing stage.

When I went through all it, I finally got a 3D landscape scene which now can be rendered from various point of views to get the base terrains for the maps of Middle-earth regions. Huh.

Leave a Reply