Terragen 2.2 Release Change Log
This is the complete change log for Terragen 2.2. All changes since the public 2.1 version are listed.
PLEASE NOTE: The Mac release is a Public Beta and may not be suitable for production use. The user interface has changed to use Cocoa and we want to test it with a large audience before making a final release. Please report any bugs or unusual behaviour you come across.
Fixed some rendering related memory leaks which could be quite considerable with larger images and/or rendering animations. (Some of these leaks were new in 2.2.)
Perlin 3D Scalar is now thread safe. This fixes occasional spikes or dots in renders that use the Perlin 3D Scalar node.
File handling changes:
Safe saving for project files has been disabled. There were a few cases still where it didn't let you save project files. Please let us know if you have any issues saving project files.
Windows only: Improved behaviour with UNC style file paths (i.e. \\SERVER\share\). One example of this is that it's now possible to save projects to the root level of a share.
Mac only: Worked around a bug in OS X 10.6 which prevented making backup files when saving projects from working properly. Now works as expected on OS X 10.6.
Project file open dialogs now open showing the location of the current project, if it has been saved already.
Open file dialogs for node params now open showing their current location.
The Obj reader node is now more flexible when looking for MTL files and will work with spaces in MTL filenames.
A number of situations where text files are read (.chan, script, OBJ files etc.) now better handle different line endings across platforms.
3D Preview enhancements:
Wireframe display of objects in the 3D Preview, and other display options:
- The 3D Preview has a button to change the object display mode. You can switch between "Hidden", "Show bounding boxes" and "Show Wireframes".
- Many objects now have a "Preview mode" parameter which allows you to control whether wireframes or bounding boxes can be displayed per object.
- When you context click in the 3D Preview on the handle of objects which support the new "Preview mode" param there you can control the preview mode from the "Object Preview Mode" submenu in the context menu. There is an additional setting available here which lets you display bounding boxes in addition to wireframes.
- Wireframes in populations use level-of-detail reduction to speed up the display. We'll improve the level-of-detail algorithms in future versions.
Added Rule of Thirds composition guides to 3D Preview. It can be toggled on and off using the main "3" key.
Disc and plane nodes now have handles and are selectable in the 3D Preview.
Plane node is drawn differently in preview to help with positioning it. If you can't see the plane but can see the edges then you know you're looking at it from behind.
Resetting the 3D Preview now also resets preset cameras to defaults.
Improved tooltip handling for 3D Preview exposure slider.
Render View enhancements:
In the Render View you can toggle 'solo' display of the red, green and blue channels, as well as the alpha image. Default keys are 'r', 'g', 'b' and 'a' but they are customisable.
Saving alpha image: If the alpha image is being viewed, pressing Save on the Render View will save the alpha image, not the RGB. (Alpha is still treated as a separate image because it may have spectral information that needs all 3 RGB channels.)
Fixed location of context menu shown in render window.
Mac only: Fixed some mouse interaction problems which were evident in the render window.
Mac only: Fixed a render window destruction related crashing bug.
"Preparing to render..." is displayed in the Render View before any renderer initialisation or scene setup is done, because sometimes an old status was displayed for a long time after starting a render.
-rendernode <nodename> command line option, which sets the master render node after autoloading the project.
Windows only: Changed the detection of the number of processor cores. Hyperthreads are now counted as cores (or rather hyperthreading is no longer treated as a special case), and this change should also give a true count of the number of cores on a wider range of systems. Some older systems may now be counted incorrectly, but core detection can still be overridden in Preferences.
"Ray trace atmosphere" option on the render node. If checked, the atmosphere will be rendered in a separate ray-traced pass and benefit from improved anti-aliasing. This is similar to "ray trace objects" but for atmosphere. It may also render faster by avoiding unnecessary overdraw of terrain and other surfaces by rendering those before the atmosphere, but speed and quality heavily depend on the anti-aliasing settings. If both ray trace objects and ray trace atmosphere are checked, they are rendered in the same ray-traced pass.
Controls for are now available for the size of the buckets in a render. (Buckets are the tiles which make up the rendered image, which can be rendered in parallel using multi-threading.) The controls can be accessed via a button labeled "Bucket Controls..." on the Advanced tab of a render node. The maximum bucket size in pixels (X and Y) can be specified, and the automatic reduction of bucket sizes which is based on anti-aliasing and number of threads can be enabled or disabled.
Camera has "shutter offset" parameter, which offsets the time (in frames) at which the motion blur shutter opens and closes. A shutter offset of 0 (the default) causes the shutter to open exactly on the frame number and close at frame + motion blur length. If, instead, you set shutter offset to -0.5 times the motion blur length, the motion blur will be centred on the current frame.
Motion blur length, shutter offset and depth of field parameters (alpha builds only) have been moved to a new tab labeled Blur.
Light sources (i.e. local, inverse-square light sources) have a maximum distance parameter, which can be used as an important optimisation when there are small (weak) light sources in a large environment. The maximum distance parameter also creates a linear falloff to 0 intensity at that distance. If you move the "strength" and "max distance" sliders so that they line up in the GUI, the intensity at that distance due to inverse square falloff alone would be 0.001.
Improvements to soft shadows:
- Soft shadows now use a slightly better sample distribution to slightly reduce noise.
- Sunlight has a new option "Sample jitter". Default value is 1 which qualitatively matches the old behaviour, giving jittered stratified sampling which is statistically unbiased but produces noise. A value of 0 produces no noise, but introduces bias and stepping artefacts instead. This may be favourable in some situations, e.g. animations.
- Soft shadows of Sunlight nodes no longer flicker between frames in an animation, provided that jitter is set to 0.
Minor changes to some sampling patterns affecting GI.
Detail jittering was always used even when disabled in render settings. This bug has now been fixed.
"GI prepass padding option" can be used to enlarge (or shrink) the area of image calculated during the prepass, which may be useful to avoid mismatched lighting between adjacent cropped renders or pieces of a panorama. A value of 0 means no padding. A value of 1 adds a border to each side of the frustum which is equivalent to the width or height of the image or crop region, which makes the frustum 3 times as wide and 3 times as tall.
Individual cloud layer transparency threshold changed to 0.001 (was 0.01). Implemented total integrated transparency threshold, set to 0.001. The change to the individual cloud layer threshold makes single cloud layers take a little longer to render but reduces incorrect sun glow through dense cloud. By implementing total integrated transparency threshold (all cloud layers and atmosphere integrated) total render time may be reduced, but may increase incorrect sun glow that may have been obscured by multiple clouds layer previously.
Fixed a bug with the ray tracing of imported objects that have no UVs or UVWs. Default textures coordinates for these objects are now generated by the ray tracer, matching the behaviour of the micropolygon renderer.
Displacement tolerance can be changed for objects. Note that this is only effective if the objects are not ray traced.
Cloud Layer V2 changes:
- Option to localise the cloud layer to a sphere of chosen centre and radius. This renders more quickly than similar effects done with the density shader network, and it allows more control over the falloff. The centre can be moved using a handle in the 3D preview, and dashed rings are drawn at the top and bottom of the cloud layer to represent the radius. Moving the centre automatically changes the cloud layer altitude.
- There is a new option to use a 2D shadow map to render the shadows cast by clouds, which can be found on the new Optimisations tab. Currently this feature only works reliably if you have enabled "localise" on the Main tab. The size and position of the shadow map is determined by the localisation parameters "centre" and "radius", as it uses a rectangle which completely surrounds the localisation sphere in X and Z dimensions. The shadow map is generated whenever you render an image, and will not work in the 3D preview until it has been generated. Self shadowing does not use the shadow map.
- Acceleration cache option has moved to a new Optimisations tab.
- "Altitude offset function" on the Functions tab. Takes a function or colour shader which can vary in 3D space to offset the cloud's built-in vertical profile. Cloud cannot be created outside the altitude range defined by the main altitude and depth parameters, however. Units are metres, and there is a parameter to easily multiply the function by a constant value.
- "Depth modulator" on the Functions tab. Takes a function or colour shader which can vary in 3D space to multiply or reduce the height of the built-in vertical profile. Cloud cannot be created outside the altitude range defined by the main altitude and depth parameters, however. A parameter named "Centre" defines the pivot about which the depth is multiplied, with values normally between 0 and 1. 0 means modulation of height above the cloud base; 1 means modulation of the depth below the cloud top.
- "Final density modulator" on the Functions tab. Takes a function or colour shader which can vary in 3D space to multiply or reduce the final density of the cloud after all other built-in clipping and cutoffs have been applied.
- New option "anisotropic enviro light". Enabled by default. When enabled, enviro light (GI or Ambient Occlusion) contributions are weighted more strongly in the forward viewing direction than the backward viewing direction for thin clouds, and more strongly in the backward direction than the forward direction for dense clouds. The "fake internal scattering" parameter controls the change from forward scattering in thin cloud to back scattering in dense clouds, as well as brightening the contribution of direct light sources on dense clouds. If fake internal scattering is 0 while anisotropic enviro light is enabled, cloud density has no effect on enviro light contributions and they are predominantly forward scattering everywhere. The "sun glow" settings also affect the contrast between forward- and back-scattering weightings.
- Below the cloud colour parameter, the maximum possible albedo corresponding to that colour is shown. A colour of 0.25 corresponds to 100% maximum theoretical albedo if there is sufficient cloud density, GI and fake internal scattering to achieve it.
- Fake internal scattering slider goes up to 2 (was 1).
- Changes to some default values.
Planet Atmosphere changes:
- New option "anisotropic enviro light". Enabled by default. When enabled, enviro light (GI or Ambient Occlusion) contributions are weighted more strongly in the forward viewing direction than the backward viewing direction, to simulate preferential forward scattering. The anisotropism (the contrast between forward- and back-scattering weightings) is affected by the bluesky glow settings and the haze glow settings, with bluesky and haze components being lit independently. With the default settings, the haze component has greater anisotropism than the bluesky component.
- Changed default enviro light contribution to 1 (was 0.5).
Object shaders can be reassigned without forcing the object to reload or regenerate.
Terragen now reads RGB and RGBA 32-bit EXRs.
New node: Null Shader. This is a shader which does nothing except pass through its input. The input can be any shader or function node. The Null Shader might be useful for redirecting flow in complex networks. Use it however you wish.
Inserting a non-atmosphere shader into a chain of atmosphere shaders will allow the atmosphere shaders above it to render even though the non-atmosphere shader will not render anything. This means that any shader (e.g. the Null Shader) can be used as a pass-through node, which might be useful in complex networks.
The last shader connected to a planet can be any kind of shader and its inputs will still work. Still, only atmosphere shaders (i.e. Planet Atmospheres or Cloud Layers) are actually rendered. This is part of the changes to allow Null Shaders to be inserted anywhere in a chain of atmosphere shaders.
"Stitchable border" option in Heightfield Shader, which causes the border blending zone to fall half outside the heightfield bounds and half inside. The outside region uses data which is copied from the border. To stitch adjacent heightfields you also need to uncheck "flatten first".
The Simple shape shader now has "Position key" params in the Colour and Displacement tabs which let you control the position used to calculate the effect.
Fake Stones Shader: fixed broken stones with "blend as stone density".
Fixed a Shader array bug which caused array instances to vanish as you moved further from the origin.
Fixed a problem with the Power Fractal Shader V3 when displacement spike limit is 0.
Some internal changes to the handling of key frame interpolation. This shouldn't have any effect on the working of Terragen.
Updated versions of various libraries that Terragen uses.
There have been some changes to the libraries created by the installer on Windows.
Other GUI improvements:
Tweaked many node param view layouts.
Fixed some list redraw problems (different problems on Mac and Windows).
Windows only: List controls now have better tabbing behaviour.
Windows only: Fixed a potential hang when modifying key bindings in the Customise Input Bindings window.
Mac only: Made some improvements to control focus handling. This problem was shown by interaction problems with 3D Preview navigation panels when more than one 3D Preview was open.
Param colour buttons now support HDR values when dragging and dropping.
The "Add Terrain" button now adds terrain nodes in the expected place (above the Compute Terrain node) even when all other terrain have been deleted, as long as the Compute Terrain node still exists and is connected to the planet. (Bug 50)
Improved node tooltip behaviour in network view, mainly obvious in Mac version.
Group nodes now update their colour in the network view when it's changed.
Improved copy/paste behaviour.
Added Select All item to Edit menu.
Mac only: Fixed a bug which could cause a modal dialog crash on OS X 10.5. This was most apparent with a crash when dismissing the splash screen for the Free version.
Mac only: Adjusted layout of Measure window to suit Cocoa control sizing.
Mac only: Progress dialogs no longer stay above windows of all applications.
Mac only: Fixed some timer related bugs.
Fixed a potential crash when closing param floaters.
Node name params no longer allow non-ASCII characters and the "/" character to be entered.
Changes to the View menu. The order has changed, and some of the keyboard shortcuts have changed to improve self consistency.
Added "Customise Default Paths" items to the File Saving prefs panel. These let you customise the locations for several paths. At the moment the two paths supported are for the temporary files location (temp files created at the end of rendering) and the sequence output path (where animation frames are created).
Optimised creation of recently opened files menus to give better performance in a network environment.
Windows only: Changed the way messages boxes present title and message text.
Windows only: Fixed a problem which caused the 3D Preview Location window to be the wrong size.
Some text that was accidentally written into projects and clips containing cloud layers and planet atmospheres (GUI information about ray traced shadows) is no longer written.