July 25, 2017
Terragen 4 often needs more RAM than Terragen 3. The higher requirements are to support Intel’s Embree ray tracing core as well as new cloud lighting technology (Cloud Layer V3 and Easy Cloud).
Node names are no longer forced to be globally unique, so a node in an internal network can have the same name as another node in a different network. This means that some projects saved in TG4 won’t work correctly in TG3, even if they only use TG3 features.
Build 4.1.11 (Release or Release Candidate)
The Linux render node is now built against the VFX Reference Platform CY2017.
Fixed Bug #693: Pausing a render could cause the application to freeze.
Approx 2.2x speedup of the Voronoi functions used by by Power Fractal Shade V3, Fake Stones Shader and non-smooth Voronoi function nodes.
Approx 1.4-1.5x speedup of the smooth Voronoi functions. These are used by Power Fractal Shader V3 when filtered by a Smoothing Filter Shader and are also used by the Smooth Voronoi function nodes.
Alpine Fractal Shader V2 is now about 12% faster.
Faster/Cleaner Cloud Rendering
Terragen 4.1 now renders Cloud Layer V3 and Easy Cloud in a different way from 4.0. There is a new global control called “Voxel scattering quality” in GI Settings (on the GI in Clouds tab). This affects all cloud layers of type Cloud Layer V3 and Easy Cloud, and is independent of the cloud layers’ individual quality parameters. The default value of 50 usually produces better images in less render time than Terragen 4.0.
Because of the above change, the “Quality” parameter on Easy Cloud and Cloud Layer V3 is now called “Ray-marching quality” in the GUI. It is no longer an overall quality control.
The default value for ray-marching quality on Easy Cloud has been reduced from 0.75 to 0.5 for faster rendering in most cases.
Reduced one of the main causes of variance in clouds that causes flickering, where clouds are lit by specular highlights or high values of “glow power” in the atmosphere or surrounding cloud layers. Now that this has been improved, you might be able to use lower settings for “Cloud GI quality” and that will reduce render times.
In Render GI settings on the GI in Clouds tab there is a parameter called “Cloud GI max ray depth”. This applies to Cloud Layer V3 and Easy Cloud. It limits the maximum ray depth at which cloud voxel scattering includes light from other parts of the scene. If you have many cloud layers in the scene it’s especially important to keep this number low (e.g. 1 or 2) to prevent long render times due to light interactions between cloud layers. This part of the renderer should be improved in future to allow higher ray depths without excessive render times.
More Cloud Control
Masking input for Easy Cloud. Not only can this be used to control the placement of clouds, you can also use it for interesting effects like making the base of the clouds more wispy or adding more variety to the clouds.
Increased the slider range for cloud altitude and cloud depth from 20,000 to 30,000. As usual, values outside this range can still be entered by hand.
Cleaner Atmosphere Rendering
Removed an unnecessary source of noise in atmosphere, especially noticeable in relatively short rays or when using a small number of samples. In many cases atmospheres will now render more accurately and with less noise.
Atmospheres no longer have a parameter to control sample jittering; samples are always jittered.
Changed how the RTP samples/refines the image. This improves parallelism towards the end of the render, reducing total render time.
Changed how the RTP chooses how many threads to use on systems with 24 or more threads (12 or more cores with HT), to reduce the CPU load without sacrificing speed on hyper-threaded systems.
Changed how the 3D Preview in non-RTP mode chooses how many threads to use for various passes, reducing the CPU load but also improving speed, especially on hyper-threaded systems with 24 or more threads (12 cores with HT).
32-bit EXR for rendered images: When saving EXR images from the Render View, you can choose between 16 bit (half float) and 32 bit (full float) precision. We also added an EXR Options button to the render node’s Sequence/Output tab, next to the TIFF Options button. You can use this to choose between 16 bit (half float) and 32 bit (full float) for EXR files rendered with Render to Disk and Sequence Render (including command line rendering).
32-bit EXR for heightfields: Heightfields saved to EXR now save to 32-bit float precision.
When saving heightfields to EXR, a single-channel EXR is produced with data in the “Y” channel.
Fixed some problems with the interpolation of GI cache samples at render time (affects renders with cache files and without cache files).
Pixels are updated with final anti-aliased quality more frequently while rendering is in progress. Pixel reconstruction has been optimised so this shouldn’t add much to render times. Some renders will finish slightly faster than before.
Boosted the speed of some renders by ignoring bump mapping in certain types of GI and reflection rays where we believe it’s unlikely to be important to the final image.
New command line args -oxsubfolders and -oxsubfolders=no which override the “create subfolders” option in the project’s render node.
Improved Merge Shader
Merge Shader has a new option to select between different texture spaces that are used when evaluating the inputs. They are designed to solve some problems such as correctly aligning displacement with colour/shading.
“Legacy” works as it did previously, so colour/shading doesn’t always match with displacement.
“Current texture space (most uses)” is similar to “Legacy” with some improvements to the state of the normals to give more correct results. However, in this mode colour/shading doesn’t always match with displacement.
“Undisplaced space (for alignment)” sets texture coordinates and normals from the original undisplaced surface to ensure alignment between colour/shading and displacement, but is not ideal in all situations. For example, if the Merge Shader is on a side branch (e.g. as a Child Layer of a Surface Layer) and the texture coords or normals were modified higher up the main branch before the side branch is evaluated, the modified texture coords and normals will be ignored. In this case “Current texture space (more uses)” is a better choice.
Smoothing Filter Shader
New shader: Smoothing Filter Shader. This asks upstream shaders to smooth away details at the specified scale. The scale can be modulated with a function input. However, it only works in a few specific cases at the moment. We need to modify the code for each shader to make it react correctly to the smoothing request. Currently only three shaders support smoothing: Power Fractal Shader v3, Cloud Fractal v3 and Fractal Warp Shader. We’d like to add smoothing support to more shaders in future.
“Obey downstream smoothing filters” is an option you can turn on or off for each Power Fractal Shader V3, Cloud Fractal Shader V3 and Fractal Warp Shader.
Other Shader Changes
Power Fractal Shader V3: “Better colour continuity” and “Better displacement continuity” parameters on the Tweaks tab. When enabled, the shader uses more precise math to remove C1 discontinuities in the ‘variation’ feature. It also changes how the smoothing of ridges and gullies is performed (in Perlin Ridges, Perlin Billows and Perlin Mix flavours) to give nicer results. “Better_displacement_continuity” is enabled automatically for newly created nodes, but not for existing ones.
Image Map Shader: When you switch to Camera projection the shader automatically enables “position_center” and sets the position to (0.5,0.5,0.0). As in previous versions, it also sets the size to (1,1). You still need to adjust the size parameters match the aspect ratio, but all other settings should be good.
Image Map Shader: When you switch to UV Projection the shader automatically sets the position to (0,0,0). As in previous versions, it also enabled “position_lower_left” and sets size to (1,1).
Reflective Shader: Prevents negative roughness when using a roughness function. Negative results are now clamped to 0.
Transform Input Shader: Added “Use undisplaced space” option.
Transform Merge Shader: Added “Use undisplaced space” option.
Changes to the OBJ Reader’s .mtl reader: If index of refraction (IOR) specified by ‘Ni’ in the .mtl is 0 or less, we use the Default Shader’s default IOR of 1.5 because the value in the .mtl is surely wrong. If the .mtl has an IOR between 0 and 1, Terragen uses its reciprocal (1/x) so that the value is greater than 1, because Terragen’s reflective shaders currently only work with IOR greater than or equal to 1. If the .mtl doesn’t specify ‘Ni’ then we continue to use the Default Shader’s default IOR of 1.5 as we always did.
Light Source and Spotlight have parameters to enable/disable “light surfaces” and “light atmosphere” just like Sunlight has.
Some parameter labels have changed in Sunlight, Light Source and Spotlight nodes.
Image File Processor (Professional Edition only) has an option to apply some experimental HDR processing.
Other Preview Improvements
Fixed bug #578: Wireframe and texture previews were incorrectly clipping when “Use vertical fov” was selected on the camera.
Fixed bug with RTP projection when “Use vertical fov” was selected on the camera.
RTP displays elapsed time (seconds and tenths of a second) if more than 5 seconds have elapsed, or if finished.
Changes to the update checker system. When software updates are available for download, the window that shows the updates has changed. Recommended Updates (Release builds) are shown separately from Optional Updates (Frontier builds). If maintenance has expired and there are new versions that fall outside of the maintenance period then it also gives you a button to renew your maintenance.
Other changes to the update checker and update notification system.
When using Gather Project, the “Project Assets” folder is now called “Project_Assets” (has an underscore).
Some changes to the handling of license key files. In some circumstances Terragen will attempt to update key files with new information from the server at planetside.co.uk.
View menu and 3D Preview context menu no longer show the item to open the 3D Preview in a new window. This will be added back in a future release.
There are fewer situations where no parameter view is shown below the Node List at the top left of the GUI.
Some API changes, but they should not affect end users of third-party plugins that are already published.
End of changes.