It seems appropriate that Terragen's development has been somewhat glacial in its pace. The first publicly available code was released back in the late '90s, and it wasn't until April 2009 that version 2.0 was released. Version 2.2 arrived in 2010, 2.5 at the end of 2012 and now, just seven months later, we have version 3.0.
If you're unfamiliar with the software, it's a procedural landscape generator designed to render micropolygon displacements. It's driven by a layered, node-based system, which allows you to drive fractal functions with various shaders. So, for instance, you can have a fractal node generating the landscape, with a displacement shader adding specific details. Then the colour can be derived from another node, and masked by a shader driven by slope or altitude - which in turn can be driven by another node - and so on.
Users of Terragen 2.5 might wonder what the big deal is as, at first glance, not much appears to have changed. However, the bulk of work has been taking place beneath the surface, with a host of improvements and new features.
One of the issues with Terragen is that it's a very numbers-driven app; one single node can have as many 30 numerical inputs spread across six tabs, each of which can be masked by another node. To preview any changes, you're limited to either a small window showing the fractal pattern, or the main preview window, which renders the current camera view. The problem is that neither of these is particularly quick or effective, as they only resolve to a certain level of detail - and not especially quickly.
Terragen 3's progressive preview is faster than before, with the ability to show objects in smooth-shaded or textured modes, and is capable of displaying enormous populations. However, it's still only useful for viewing large-scale changes, and remains a bottleneck in what is a very iterative creative process. Planetside has started work on making the preview multi-threaded, but we had mixed results, only seeing full use of all 24 cores in the final stages of the render. Hopefully work will continue on making this faster and more usable. Fortunately the new GI renderer often produces a final image in not much more time than it takes the main preview, despite the latter's lower resolution.
One key feature that will probably benefit every user is version 3's ability to render out a variety of passes. In the scene's Render node you simply add a Render layer node, then tick whichever render elements you need. Terragen supports 27 elements, including object RGB and alpha, lighting information, plus object and surface data, such as depth, normal and motion vectors. This gives you total freedom to edit the scene at the compositing stage, add effects like motion blur, and even relight the scene in Nuke and, to a lesser extent, in After Effects with the Normality plugin.
The new depth-of-field blur option is a nice addition, enabling you to create some beautifully shallow depth-of-field effects, and it's easy to set the focal distance with a helper plane in the preview window. However, your render times can rise substantially and, with the new render passes, there's a good chance that you can replicate the effect much more quickly in post.
Features and improvements
Control over populations is much improved, with the ability to edit individual instances in the main viewport or delete them entirely - which is really useful when you're after a very specific look to your scene. You can also control the colour and luminosity of a population with a shader, adding natural-looking variety without the need for additional objects.
Several new nodes and shaders have been added to version 3, including a spherical camera node, which is ideal for making HDRs for lighting objects being comped into a Terragen scene, or for game backdrops. Other new functions include the Vortex Shader for making swirling cloud systems or whirlpools, while the Power Fractal node adds Voronoi functions to its toolset - although its procedural library still seems a bit lacking.
Cloud rendering has received a useful speed boost too, at least when using localised clouds (that is, limited to a user-defined area). We shaved 20 per cent off render times using 2D shadows, but couldn't replicate the 60 per cent saving quoted; your mileage may vary. FBX interchange has been improved, with the import and export of scene camera and lighting animation data, plus the export of terrains. After several failed attempts, we did finally export a terrain mesh (FBX is finicky about folder access on OS X). Just beware: with a large draw distance and high detail, Terragen can generate some very large files.
A new content library helps to keep your assets close at hand and, to help populate it, Planetside is bundling a stack of content including surface shaders, terrains and clouds, plus 20 vegetation samples from www.silva3d.com. It's a welcome addition and should help newcomers get started.
This release helps to cement Terragen's place as a professional, production-ready tool, and the addition of FBX scene export, render passes and the spherical camera should help it slot more neatly into production pipelines. But while some people relish the building of complex node structures, it's hard to suggest that this is an artist-friendly app - especially with the current lack of documentation. It would also be good to have a better picture viewer so you could preview render passes. It lacks even a basic gradient tool and the ability to add erosion - something that seems oddly absent from a landscape generator - and surely animation should just be part of the standard app by now?
There's no arguing with the quality of Terragen's output and while its UI is somewhat opaque, it does eventually click. But while there's much to commend in this update, it also feels like there's more work to be done.
Terragen is good but not brilliant. This update does add some welcome features that bode well for its future though.
- Produces beautiful GI renders
- Render passes are hugely useful
- Spherical camera great for HDRs
- Preview speed still a bottleneck
- Complex value-based input
- Lack of documentation
Words: Steve Jarratt
Steve Jarratt has been into CG for many years. He's a regular contributor to 3D World and edited the magazine for two years.
This article originally appeared in 3D World (opens in new tab) issue 175 - on sale now (opens in new tab)!