Terragen 4.4.69 Release Change Log

    Build 4.4.69 (Release)

    Released October 13, 2020 (Mac)
    Included in Maintenance up to March 21, 2019

    Update to v4.4 on macOS

    Mac only: The Mac version now requires macOS 10.9 or newer.

    Mac only: Mac builds are notarized to meet security requirements on new versions of macOS.

    Mac only: Fixed a crash when creating Library previews for certain items. Previews are no longer created for some Library items, such as objects. This will be fixed in a subsequent release.

    Mac only: Fixed problem with certain views (3D Preview, Network view etc.) displaying only in the bottom left of the view.

    Mac only: FBX support updated to 2020.1.

    Mac only: Various third party libraries updated.


    Build 4.4.67 (Release)

    Released May 20, 2020 (Windows and Linux)
    Included in Maintenance up to March 21, 2019

    Update to v4.4

    Made the License Agreement more permissive by narrowing the definition of Volumetric Assets.

    Better updating of key files when a license has been renewed.


    Build 4.4.65 (Release)

    Released April 28, 2020 (Windows and Linux)
    Included in Maintenance up to March 21, 2019

    Update to v4.4

    Updated the License Agreement. Restrictions on Volumetric Assets, Definitions, Updates, and more.

    Improved stability on systems with a high number of detected CPU cores/threads.

    Overhauled the bump mapping and lighting system that’s used on ray traced objects to improve image quality and accuracy. Recent 4.4 builds had some bugs that were caused by changes to address some long-standing issues. The new system in 4.4.65 fixes those bugs and also maintains solutions to some long-standing issues.

    • Fixed some bump mapping and lighting bugs that were introduced in 4.4.46: incorrect lighting positions; incorrect normals on highly curved or highly displaced surfaces.
    • Bump maps don’t affect the lighting position anymore, because this was causing severely unrealistic distortion of shadows.
    • Bump maps affect the data that shaders use for non-lighting. For example, altitude constraints work with bump mapped surfaces. This works with negative bump too.

    “Smooth polygons at terminator.” This is a new checkbox on the Surface Shaders tab of object readers, and it is enabled by default. It fixes self-shadow artifacts at the lighting terminator of polygonal objects where the smooth normals are inconsistent with the geometric normal.

    “Darken bumps at terminator.” This is a new checkbox on the Surface Shaders tab of object readers and non-displaceable object generators. It is enabled by default. It approximates self-shadow of bump maps at the lighting terminator to reduce the chance of seeing a sharp line where the surface falls into shadow.

    Fixed a bug that occurred when “Ray trace objects” was off. Objects whose render method was “Default” were being rendered with both the rasteriser and the ray tracer. The correct behaviour in this case is to render with only the rasteriser. The bug may not have been noticed with objects that have positive displacement.

    “Cloud base (min)” and “Cloud top (max)” readouts on the Atmosphere Node List are updated when a cloud layer’s depth is changed.


    Build 4.4.49 (Release)

    Released February 20, 2020 (Windows and Linux)
    Included in Maintenance up to March 21, 2019

    Update to v4.4

    The default scene has soft shadows enabled with 4 samples.

    Fixed a mistake in the subdivision of displaceable surfaces when seen by rays at depth 3 or more.

    Reverted the change from 4.4.40.frontier that prevented bump maps from displacing the shading position. This brings back the ability to use the “positive bump trick” to avoid sharp terminators on low-poly geometry.

    Changed how the ray origin is determined for transmission rays (e.g. refractions and SSS) so they should work properly with the bump map behaviour mentioned above.

    Improved the RTP’s rendering of surfaces with opacity less than 1.

    Glass Shader’s default scattering mode is “Subsurface scatter in all directions”.

    When loading projects with Geog Heightfield Load, it now respects the deferred loading policy which is used by other heightfield nodes. That is, it only loads when it is needed by a preview or a render, and if the Heightfield Shader is disabled the loader won’t load.

    Render nodes automatically insert ${IMAGETYPE} into the extra output image filename if it doesn’t contain IMAGETYPE when starting a render with extra output enabled. Dots or underscores may also be inserted, depending on the filename.

    When automatically inserting %04d into output filenames that don’t include it, no dialog box is shown. Dots or underscores may also be inserted, depending on the filename.

    If the legacy sampler is being used, “Using legacy sampler >” is displayed on the render Quality tab in place of “Sampling is customised”.

    Minor UI changes in the Render node, Glass Shader and Water Shader.


    Build 4.4.44 (Release)

    Released November 18, 2019
    Included in Maintenance up to March 21, 2019

    Initial release of v4.4


    Changed the default render settings:

    – “Robust adaptive sampler” is enabled by default.
    – “Anti-aliasing” default is 3.
    – “Defer all shading” is enabled by default.

    The radio buttons for choosing between “Standard renderer” and “Path tracer” have moved to the Quality tab of the render node, and other controls have been rearranged to accommodate them.

    The path tracer is ready for use in production. More information is in the Path Tracing section below.

    The robust adaptive sampler is ready for use in production. Two changes were made to the the robust adaptive sampler to produce better looking images in a shorter render time. We fixed an important bug in the way it handled colours, and implemented a new method of evaluating contrast. Both of these changes provide a better ratio of image quality to render time.

    The “Robust adaptive sampler” checkbox in the Render Pixel Sampler has been replaced by two radio buttons: “Legacy adaptive sampler” and “Robust adaptive sampler”.

    Corrected some flaws with motion blur when the pixel sampler is adaptive, by reverting to a random sampling strategy in this case.

    Fixed a bug with the ray bias in shadow rays originating far from the camera. The fix makes distant vegetation render more correctly.

    Worked around a bug which can cause large amounts of noise in the atmosphere GI cache if reflective shaders are visible to the camera in the GI prepass. To work around this bug, the reflective shaders do nothing when hit by camera rays in the GI prepass.

    Changed how bump mapping affects the shading position. Bump mapping doesn’t affect shading position anymore because this was causing incorrect rendering of transparency. However, this also means we can’t use the positive bump trick to avoid sharp terminators on low-poly geometry. We may need another solution for this in future builds.


    New variables can be used in rendered output filenames. The complete list is now as follows:

    ${BUILDNUMBER} // e.g.
    ${CAMERA} // the name of the camera at the moment the frame started rendering
    ${IMAGETYPE} or IMAGETYPE // e.g. tgSurfDirect, tgCloudRgb etc. If used for the main output it will insert tgBeauty
    ${LAYER} or ${RENDERLAYER} // the name of the render layer at the moment the frame started rendering, if one was connected
    ${RENDER} or ${RENDERER} or ${RENDERNODE} // the name of the render node at the moment the frame started rendering
    ${RENDERSECONDS} // render time in seconds, e.g. 134
    ${RENDERTIME} // render time formatted with hours, minutes and seconds (e.g. 1h07m24s), or without the hours if shorter than 1 hour, e.g. 02m14s
    ${TGDNAME} // the name of the last saved or loaded TGD file at the moment the frame started rendering (or “Untitled”), without the path and without the extension

    The default output filename and extra output filename are “${TGDNAME}.%04d.tif” and “${TGDNAME}.${IMAGETYPE}.%04d.tif” respectively.

    Output folders are verified and automatically created if necessary at the start of a render that outputs files. The render aborts if output folders don’t exist after attempting to create them. (Feature #742)

    Temporary/automatic render output files (the ones named “tgout”) have a new filename format that includes the render time and the version of Terragen.

    When tgSurfIndirectDiff is enabled in a render layer, two new elements tgSurfIndirectDiffRefl and trSurfIndirectDiffTrans are automatically output as well. When tgSurfIndirectSpec is enabled, two new elements tgSurfIndirectSpecRefl and tgSurfIndirectSpecTrans are automatically output as well. Please note that these images are not being properly generated in this build; they are always black.

    Before writing an image file, Terragen prints to stdout “Attempting to write image: ” followed by the filename. ImageWriterTIFF no longer prints anything when it succeeds, only when it fails. This is consistent with the behaviour of ImageWriterEXR.

    Faster, Higher Quality Cloud GI

    Cloud GI calculation is now much faster in scenes with high micropoly detail and/or high ray detail multiplier. This change comes at the expense of slightly reduced correctness which is unlikely to be noticeable in renders.

    Slightly increased the spatial resolution of cloud GI (relative to the number of voxels), taking advantage of the faster calculation in this version.

    Path Tracing

    The path tracer is ready for use in production. The path tracer option has moved to the Quality tab of the render node.

    Transparency (glossy/specular transmission) can be rendered with the path tracer.

    Improved the performance of the path tracer in lots of ways.

    Improved the adaptivity of the path tracer when using the Robust Adaptive Sampler.

    You can control the path tracer quality with “Max paths per sampler” on the Quality tab of the render node.

    You can control the path tracer’s maximum ray depth with “Max ray depth in PT” on the Advanced tab, but it cannot go higher than 13 in this build. The default value is 5.

    Path tracer clamps albedo to 1 on all bounces except the first. This is necessary to be physically correct and to avoid extremely bright samples after multiple bounces.

    Faster path tracing with soft shadows: When path tracing, the sampling of direct lights uses fewer samples in bounced light. The number of soft shadow samples has much less impact on render times.

    Fixed a bug in the path tracer that sometimes made it impossible to finish or stop renders and previews.

    Subsurface Scattering in Path Tracer

    Water Shader and Glass Shader “volume density” and “volume colour” can be used with the path tracer. This can be used to render objects with subsurface scattering. You can choose from 3 different methods to calculate subsurface scattering.


    When rendering with the path tracer, direct light sources reflecting off or refracting through shiny objects can cause caustics. They are only roughly approximated to reduce the amount of noise they produce.

    These caustics may also show up in renders that don’t use path tracing, but at a lower quality.

    Water Shader, Glass Shader and Reflective Shader have a new parameter called “Caustic intensity” which defaults to 1. When a ray bounces off (or passes through) other rough surfaces before hitting this shader, “Caustic intensity” controls the brightness of the specular highlights of direct light sources. This is what causes this shader to cast direct light caustics (reflective and refractive), but it is often a major source of unwanted noise in path traced renders (or flickering in other renders) so it may be useful to control its intensity.

    Caustic refractions and reflections are not cast by objects that have “Cast shadows” disabled. This is to obey conservation of energy and to avoid making path-traced underwater surfaces too bright under the Lake object which has shadows disabled by default.

    Water and Glass

    When simulating solid panes of glass with two parallel faces with opposite normals, previously there was a bug with direction of the rays emerging from the far side. This has now been fixed.

    Glass Shader’s “Double-sided surface” parameter is labeled “Double-sided / Thin-walled”. This is to indicate that it’s similar to the “Thin Walled” option found in other renderers.

    Moved the Water Shader’s “seed” parameter to the Waves tab and removed the Seed tab.


    When an OBJ file is read into a project for the first time, it creates material nodes for any material references in the OBJ (or groups/objects if there are no material references) as well as materials defined in the MTL file (if any). It does this regardless of whether a MTL file is found.

    Bump maps and displacement maps are read from OBJ MTL files and are applied to the displacement channel.

    2D/3D Previews

    Improved the performance and reduced the memory use of the 2D and 3D previews.

    The 3D Preview allows objects, lights and cameras to be manipulated when in RTP mode. Camera wireframes are drawn and handles are shown for objects and lights. When hovering over a handle, the object is drawn in the same way it is in non-RTP mode, according to the Object Display Mode (bounding box, wireframe, smooth shaded or textured).

    Specular highlights (from direct lights) are rendered in RTP mode if shading is enabled.

    Translucency of direct lights is rendered in RTP mode if shading is enabled.

    Path Tracing can be enabled or disabled in RTP mode by clicking on the gold cup icon or by using the right-click menu (context menu) in the 3D Preview while in RTP mode.

    Corrected the normals of instanced (populated) objects in RTP mode.

    Smooth normals and bump mapping are rendered in RTP mode.

    Fixed a bug with the ray bias in reflection/refraction rays in the RTP.


    There is a new checkbox at the top right of the main window called “Dynamic Layouts”. This controls what happens when you click on the Layout Buttons to the left of it. When it is checked, the user interface behaves as it did before. If you uncheck this box, Terragen won’t automatically open or close the 3D Preview or Node Network (except when you click on the Node Network layout button) and it won’t automatically change the shading, atmosphere and lighting settings on the 3D Preview.

    The Preferences item “Centre on nodes selected in node lists” is respected when switching between layouts. Previously it was respected only when manually clicking on nodes in node lists, and a change of layout caused centering to occur regardless of this preference.

    Populator V4 “terrain shader” and “object to sit on” inputs are hidden from the network view so that they don’t draw connections. The change was made because terrain shader connections from every populator were causing a lot of ugliness in projects.

    Steppers are provided in the GUI alongside many edit boxes.

    Mac only: Some changes have been made to work better in the OS’s dark mode, but this is still a work-in-progress. If you switch the OS between light mode and dark mode you should restart Terragen to allow it to adjust to the new mode. This change was also included in 4.3.23.

    Constant Colour node has individual parameters to control red, green and blue values.

    End of changes.


    Planetside Software

    All stories by: Planetside Software