Build 4.8.23 (Release)
Released December 6, 2024
Included in Maintenance expiring no earlier than May 5, 2024
Compatible with Sky Paint nodes exported from Terragen Sky Early Access build 2024-12-06.
Build 4.8.18 (Frontier Build)
Released November 18, 2024
Included in Maintenance expiring no earlier than May 5, 2024
Support for Sky Paint nodes exported from Terragen Sky
TGD and TGC files that have been exported from Terragen Sky alpha build 2024-11-15 with Sky Paint nodes can be loaded into this version of Terragen 4.
Threading
We’ve removed a hard-coded maximum of 64 threads per render. This allows utilization of more than 64 cores/hyperthreads on Windows 11, Windows Server 2022, Linux, and Macs with more than 64 cores. Older versions of Windows may not benefit.
The Advanced tab on the Render node has a “Limit threads” checkbox. By default it is OFF. From now on the “Maximum threads” parameter will be ignored by default, and threading will be decided by other factors: the number of cores and hyperthreading detected when the app starts (which maybe overridden in Preferences), and command line argument if used. The render node’s “Maximum threads” parameter can be re-activated if necessary by enabling the “Limit threads” checkbox (API name “enable_thread_limiter”). However, the command line threads argument will always take priority if used.
Bug fixes
Made some changes to the XML file reader to allow custom elements to be nested within custom elements. (Custom elements are used by some nodes to encapsulate data.)
Fixed a bug in the XML file reader when custom data exists in a node that could not be created because it’s an unregistered/unknown class: An earlier object could be incorrectly called to handle the custom data, which is bad if the two classes both try to handle the same element or content.
Linux render node fixes
The Linux render node ships with a copy of libpng12 because this was a missing dependency on some systems.
Plugin API additions
New function trRenderingInterface::NumThreads. This may be useful for plugins that do multi-threaded work in OnAddToRender.
New function trClassPool::AddClassNameRedirect. This is useful if we want to change a class name and continue to support old files.
New functions trBase::XMLFilters. Gives access to an API that allows some control over which children are written to an XML file. This API may be extended in future.
Build 4.8.12 (Frontier Build)
Released June 17, 2024
Included in Maintenance expiring no earlier than May 5, 2024
General
We’ve fixed some issues related to the Progress dialog and application stability with threaded operations.
Windows only: Some compilation settings have been changed which improve the speed of some shaders and heightfield operators.
Clouds
We’ve improved the speed of interacting with scenes with cloud layers, especially when there are many layers. There was a bug that would unnecessarily invalidate some caches and cause voxel buffers to be recalculated when another cloud layer or atmosphere was changed.
Heightfields
Heightfields can be exported to 16-bit TIFF and 16-bit “RAW” files that are compatible with Unity and Unreal Engine. The Free Non-Commercial edition can export resolutions up to 1025 x 1025 vertices (pixels). The Creative and Professional editions can export up to 32768 x 32768. In total, Terragen 4.8 can export heightfields to TER (preserving all scaling information), EXR (32-bit float preserving absolute height in metres), TIFF (16-bit unsigned short) and RAW (16-bit unsigned short) in addition to mesh export features.
Heighfield Erode V3 is improved:
– Multi-threading option. This calculates erosion much faster, but may give slightly different results each time it is run. We recommend saving erosion results to TER files and loading those for consistent renders. The single-threaded option is still available for backward compatibility.
– Option to fix a bug: “Fix gradient bug”. This is optional to allow backward compatibility.
– Border flow setting with the options “Stop”, “Continue off map” and “Go around to opposite side”. The latter option is fully backward compatible.
– The parameter GUI has been updated to separate the parameters into “Weight” and “Character” groups.
We’ve fixed a bug that showed up in the rare situation where a Heightfield Shader’s interpolation mode was set to “Linear” and the heightfield operator was delegating the interpolation to its input node. (This delegation happens when a heightfield node has no data, e.g. when an erosion node hasn’t done any calculations yet.) The bug was using smooth interpolation instead of the expected linear interpolation.
The way that some heightfield node settings affect previews has changed. Let us know if you find any issues.
Objects, Shaders and Texture Spaces
Objects regenerate on every frame if they have a mesh displacer connected to them so animated deformations are easier to use.
Transform Input Shader and Transform Merge Shader have a new option “Use sticky world space”. This allows shaders to work in world space on objects that have MDDs or mesh displacers, without the textures sliding when the objects are deformed.
Distance Shader has “Coord space” options which include “World space”, “Sticky world space”, “Undisplaced space” and “Terrain or Texture space (warpable and transformable)”.
Rendering
-renderlayer command line option. See command line docs for details.
Pixel dithering is applied when saving 16-bit TIFFs just like it is for 8 bit formats, but with an appropriately smaller amount of dither. This applies to saving renders and exporting heightfields.
RTP shadows respect the shadow-cast settings of light sources and render nodes.
The colour of the rectangle and handles drawn in the 3D Preview to represent the crop region (ROI) can be changed in Preferences.
The renderer has some minor speed optimisations.