Pre-purchase questions

Started by Rastar, October 29, 2014, 03:48:42 am

Previous topic - Next topic



I am searching for a software that can help me realize my workflow, and Terragen is a great candidate. Here's what I would like to do:

1) Create a terrain based on DEMs, possibly modifying it to create fine-scale details. I know TG can do that, although I'm also a WorldMachine user and could do it there as well.

2) Create a road network based on OpenStreetMap data. Now, is the tricky part, since it means

  • Create splines on the terrain surface using the OSM points.

  • Either create a road mesh or extrude an imported road mesh along these splines.

  • Modify the terrain to create a road map (raise/lower it along the road width)

  • Create road intersections.

[li]Create side objects (trees, fences etc.) along the road path

Is that something that TG can do out of the box? If not, I am prepared to write scripts that do that, so: Is there a programming and/or plugin API for TG to extend the tool?

3) Procedurally paint the terrain with materials based on parameters like height, slope etc; and/or using material layer masks generated in WorldMachine.

4) Populate the terrain with vegetation, rocks etc. similiar to 3)

5) Bake the terrain and road materials into a global terrain colormap.

6) Export  the terrain heightmap, colormap, the vegetation distribution map and (optional) the road meshes to image files (fbx).

How much of that could I do in TG, out of the box and with custom programs/scripts?

Thanks for your support!


1. Yes.

2. Something similar to this has been done, but I do not believe it was nearly as intricate. Others here (the geniuses) can answer this one better than I can.

3. As far as I know, painting is something you can control to an extent. But, the height changes for different levels to divide areas out via the height would take something extra. Again, the people who use this all the time can answer these things. I do not.

4. Easy.

5. I think so, but not 100%.

6. FBX? I don't know. But, there is a layering system by which you can layer multiple effects to use later in other programs, like Photoshop or even After Effects.

Much of what you're asking about has been done professionally at many different layers, but maybe not as intricate as you are wanting. I'm not sure about those. But, this group and Planetside have been very helpful to many in the past. I can't see that changing any time soon.
So this is Disney World.  Can we live here?


I'll just answer the ones that Rob above me either didn't answer, or need more info.

2: Terragen does not currently support spline data import unfortunately. If you rasterized the data you could import it and apply it as a texture mask, displacement, etc. If you were able to rasterize it in a GIS-aware app like GlobalMapper you could probably even maintain its goereferencing data and load it in Terragen using a Geog Image Map Shader, thus automatically aligning it with your DEM base terrain.

We do have an in-development SDK that might allow you to write a vector import function, if you have the knowledge to do so. Contact us if you're interested in discussing it further:

3: I wouldn't really call this "painting" the terrain, per se, but yes Terragen can control most effects via masks that can be based on slope, height, procedural functions, or the built-in "Painted Shader" which, indeed, allows you to "paint" masks, color, etc. Since you can use all these different methods on almost any other shader in Terragen, you can just as easily mask Displacement as you can Color or an image-based texture. Also note that you can combine different masking methods in various ways, either by masking one mask shader by another, or using something like the Fractal Breakup input of a Surface Layer node for example.

4: Yes, absolutely. Terragen 3's population functions are easy to use but also quite powerful. Our instancing capabilities have some of the lowest memory usage in the industry, so you can use literally millions of objects. See here for example: (207 million objects)

5: There is no built-in "bake" function of this type at the moment. You can render top-down orthographic images to use for e.g. texturing purposes, and you can export sections of terrain in Terragen TER or EXR format, as well as terrain geometry with a Micro Exporter node. But texture is not exported directly with any of those methods, except the work-around of rendering a top-down view. A *global* map would not easily be possible, though you might be able to create such a thing by rendering from *inside* the planet and using a Spherical Camera. However you would have to render at incredibly high resolution to get any reasonable amount of detail out of it on a global scale (unless your intended use will depict the planet from fairly high up/far away).

6: See answer to 5. You can export terrain geometry to OBJ and FBX, or to heightfield formats like TER/EXR. But no native texture export currently exists. There is also no way to export a population distribution map (e.g. point cloud) at this time, although we do have a population caching function which *may* be able to be adapted to allow this somehow.

The answer to how much of what TG doesn't handle out of the box could be added by you with "custom scripts" depends in part on what your knowledge and experience level is and what you mean by "custom scripts". The SDK requires programming in C++, we do not currently have support for any scripting languages such as Python or Lua. If you're a capable C++ programmer, we could consider giving you early access to the SDK for your project. There are limitations inherent in what the SDK can do as well, but certainly some of what you've proposed could be handled by it.

- Oshyan