Terragen is a program that can create photorealistic landscapes on both the Mac and PC.
The program is produced by
which has graciously provided free versions of the program for educational and non-commercial
use. In this tutorial, we will learn how to use Terragen 3 to create a photorealistic landscape.
Start by downloading Terragen 3 at
Be sure to scroll down to the bottom of the page and also download the Terragen 3 presets pack and the
Silva3D (Walli) Plant package sampler. You can also download the Xfrog plant sampler too. You should
install the Terragen presets by extracting the entire contents of the preset archive to a folder on
your hard drive. Also extract the Walli plant package to a folder on your hard drive.
Next, run Terragen, click on the Library button to open the Library window, then use the gear icon at
the far-right of the Library window toolbar, select "Scan Folder for Library Items", navigate to the
folder where you have extracted these presets, and press OK. The presets should now appear in the
Library window together with preview icons. Close the Library window when you've finished installing
When you first start Terragen, several windows will appear. At the top,
you'll see a row of buttons: Library, Objects, Terrain, Shaders, Water, Atmosphere, Lighting, Cameras, Renderers,
and Node Network. By default, you'll start with the Terrain button selected, and the Terrain window appears
on the left-hand side of the screen. On the top right of the screen you'll see a 3D preview window of
the scene, while a diagram of the node network describing the scene appears on the bottom right. We won't be
using the node network all that much in this tutorial, but it can sometimes be helpful when trying to fine-tune
a Terragen model to adjust the parameters directly from the node network. The Terrain preview will automatically
update and improve in resolution. This could happen very quickly (if you have a graphics accelerator) or it could
happen over a few minutes. Regardless, you should see a preview of the landscape which initially resembles a moonscape.
By the way, throughout this tutorial, you may click on any of these pictures to see it in higher resolution.
We're going to be using a fractal landscape in this tutorial, and Terragen makes this easy by starting with a
default fractal landscape. Click on the "Fractal terrain 01" tag and a menu on the left-hand side of the screen
will pop up with options to adjust the landscape. For example, the "Feature scale" slider sets the length scale
separating one hill from another: larger values mean the hills will be farther apart. We can also change the
shape of the landscape by tweaking the type of fractal used to generate the landscape. Let's make this a mountain
scene, so click on "Tweak Noise" and change the "Noise flavour" to "Perlin ridges".
Adjust the camera view until you like the scene. To rotate the camera perspective, hold down both the Alt-key
and left mouse button (Alt-LMB) and move the mouse. Alt-Ctrl-LMB will shift the camera perspective, and
Alt-Shift-LMB will pan the camera back and forth.
Adjust the camera perspective on the scene until you like the way it looks. Once you're happy with the
camera perspective, click the button just below and to the left of the scene preview that shows a camera
looking at a scene (outlined in pink in the figure below). This will set the render camera to be the
current perspective camera. You can subsequently adjust the perspective camera, but the render camera
will remain at its current position until you click on this button.
This is a pretty barren scene, but let's render it. Click on the "Renderers" button at the top of the screen,
then click on "Render 01" to see the render properties window. Change the name from "Render 01" to "Quick Render"
and change the image width to 400 and the image height to 225. Also change "Anti-aliasing" to 1. Then click on
"Render Image" to get a quick preview of the image.
This is a pretty barren scene, so let's add some life and color to it. First, click on the "Shaders"
button to view the current shaders and then click on the "Library" button to open the library window.
Click on the "Procedural Grass Shader" icon which looks like a field of grass. When you mouse over the
icon, the name will appear.
Terragen will warn you that the clip needs to be inserted into the proper part of the node network, but
it will do this for you automatically when you click on the "Insert Clip" button. Click on "Insert Clip"
and then close the library window. Now click on the "Renderers" button and then click on "Render Image"
to see what the scene looks like with grass.
This looks nice, but it would be nicer if there was snow on the tops of the mountains. Click on the
"Shaders" button, click on "Procedural Grass Shader" and then click on the "Altitude constraints" tab
that appears in the "Procedural Grass Shader" menu. Click the "Limit maximum altitude" check box,
and set the maximum altitude to 750 and the "Max alt fuzzy zone" to 250. The maximum altitude value is
the highest spot where grass will grow, and the fuzzy zone makes the grass thin out gradually, rather
than vanishing abruptly at the maximum altitude.
The tops of the mountains should now be bare rock, although the valleys will still be filled with grass.
Let's add some snow to the tops of the mountains. Click the "Add layer" button, select "Color shader"
then "Distribution shader v4." The terrain will suddenly turn bright white, as if covered by snow.
This is because the default shader color is white, which is shown in the colour selection box in the
Distribution shader window. Start by changing the name "Distribution shader v4 01" to "Snow"
We want to limit the altitude where snow appears in the landscape, so click
on the "Altitude constraints" button, check the "Limit minimum altitude" button as well as the "Use Y for
altitude" button. Set the minimum altitude to 800 and the "Min alt fuzzy zone" to 500. Also, click
on the "Slope constraints" button and check the "Limit maximum slope" button to limit the slope of the
mountain to which snow will stick.
Let's add some water to this scene, which will also add life and color. First, move the
mouse around the scene and note the altitude (the "y" value) as you move around the scene. Make a rough
estimate as to where you'd like the water level. In this particular scene, it looked like the water level
would be about -200. Click on the "Water" button, then "Add Water Object" and select "Lake." Set the water
level to -200 (or whatever value you think appropriate).
We're now at the point where we might want to render this scene at a reasonable quality. Click on the
"Renerers" button then click the "Add Renderer" button. Change the name of "Render 01" to "Normal Render"
then click the green plus sign next to the "Camera", mouse over to "Assign Camera" and select "Render Camera".
Click the "Add Renerer" button again, change the name of "Render 01" to "High Quality Render" and set the image
width to 1200 and the image height to 675. Be sure to set the camera to "Render Camera."
Depending on the speed of your computer and graphics card, select
either the normal render or the high quality render and then render the image. It should be starting to
look pretty good.
Let's add some more detail to the sky. Click on the "Atmosphere" button at the top and then click
on the "Add Cloud Layer" button. I'll add some mid-level 3D altocumulus clouds to the scene.
Finally, you can download some real trees into this scene. Click on the "Objects" button and then the
"Add Objects" button. Select "Population" and then "Tgo reader." A file selection menu pops up. Find
the folder containing Walli's plant pack, then find the pine trees and select "Pine01_2.tgo" as the object.
This will create a forest of trees located at the point (0,0,0). We want to move the forest into the
foreground. Right-click on a location in the foreground to copy the coordinates of the foreground into
the clipboard, or else note the coordinates of a foreground position and enter them into the "Area centre"
coordinates. Click on the "Populate Now" button and you should see a large number of bounding boxes
populate the preview window. Each of these bounding boxes will be replaced by a tree when you render
the scene. You may want to shift the camera angle a bit if you find that there are too many trees
blocking your view. Be sure to click the button to change the render camera to the preview camera
once you have a good shot of your scene.
A full render of this scene now looks quite decent.
We can also change this to a sunset scene. Click on the "Lighting" button at the top of the screen,
select "Sunlight 01" and change the heading of the sun to place it near the front of the scene.
You can see where the sun is by looking at the yellow dot circling around the compass
located at the top-left side of the preview window. If the sun is visible in your scene, you'll
see a small white cross at it's center. Change the sun's heading so that it's almost in front of
the camera, then change the elevation to about 5 degrees or less. Check the "Do soft shadows" box.
Click on the "Atmosphere" button at the top of the screen, then select "Atmosphere 01". Change
the "Haze density" value to 4 and the "Redsky decay" value to 3. You should now have a nice
sunset scene. Note: if you want the mountains to cast shadows in the atmosphere (which makes beams
of light from the sun visible in the atmosphere) then click on the "Quality" tab in the Atmospheres
window and check "Receive shadows from surfaces". Checking this box will greatly increase the time
to render your image, but it will look quite impressive when finished. For example, this image (with
the setting sun behind the mountain) had the box checked and took 4 hours 39 minutes to render with
a resolution of 1200x675 pixels
whereas this image (with the setting sun over the mountain) did not have the box checked and took
only 42 minutes to render at the same 1200x675 pixel resolution.