List of changes from 18.104.22.168 to 3.1.02.0:
- The subdivision and displacement engine in 3D Previews and Shader/Heightfield Previews is now multi-threaded. It uses up to as many threads as there are cores detected on your system or specified in the user override in Preferences. It can also be limited by passing a command line option, -previewthreads numberOfThreads. If numberOfThreads is 0, the subdivision and displacement engine works in the main app thread as before.
- The 3D Preview renders faster when true lighting is disabled or there are no Enviro Lights enabled in the scene.
- The GI prepass detail level in the 3D Preview has been increased slightly.
- 3D Preview now respects micropolygon opacity in the same way the renderer does, as long as shaders are enabled in the preview. This was broken when multithreaded preview shading was introduced in Terragen 3.0. Fixes Bug #499.
- Anchor populations to objects: Populator v4’s “Terrain” tab has been renamed to “Anchor”. On this tab you can choose between “Sit on terrain”, “Sit on object” and “Free floating”. If you choose “Sit on object”, instances are placed only on the surface of the object you specify. This can be any object in the project, even ones that are disabled for rendering. Positions are calculated by casting rays “downwards” from the populations area until they hit the surface of the object. By rotating the population area you can change the “downwards” direction in order to cast instances onto different sides of the object. After initial instance positions are calculated using the ray casting method, displacement shaders on the object will displace them into final instance positions. In future we would like to provide ways to populate instances on multiple objects but we have some technical problems to solve first.
- Populator v4’s “Lean to terrain normal” is now called “Lean to terrain/object normal” because it works just as well when anchoring to objects.
- Populator v4 has a small change to the effect of “Lean to terrain/object normal” when the instances are far away from the top of the planet. In most cases the differences will be small, but the change was needed to support the new features.
- Populators now put up a warning and don’t populate if you try and populate when one of the object spacing parameters is 0.
- Loading population instance caches is now faster (around 1/3 quicker) and uses less memory.
- Fixed a crash when aborting population, which was particularly obvious if population was triggered by rendering starting.
- Made some improvements to selection behaviour when editing population instances.
- The Deselect command is handled when editing population instances.
- New object: Cube. This is a “displaceable object”, like Disc, Lake, Plane, Planet and Sphere. Cubes can be positioned, rotated and scaled. Corners are rounded using a “Round radius” parameter. The roundness may be important when applying displacements.
- New object: Octahedron. This is a “displaceable object”, like Cube, Disc, Lake, Plane, Planet and Sphere. Octahedrons can be positioned, rotated and scaled. Corners and edges are rounded using a “Roundness” parameter. The roundness may be important when applying displacements.
- Sphere can now be rotated (after scaling). Rotation and scaling can now be done in the 3D Preview.
- Sphere has radio buttons to choose between “Proper surface normals” and “Scaling deforms normals”. These options are active when the scaling is non-uniform (i.e. the sphere is stretched), and they affect how the surface normals are generated on the stretched sphere.
- The Disc node has had a bit of a revamp. The parameter view has been rearranged and harmonised with similar objects.
- Disc can be double sided.
- Disc draws a wireframe preview and has larger handles.
- Lake draws a wireframe preview. The wireframe is correctly distorted by planet curvature.
- Wireframes and bounding boxes of displaceable objects (Cube, Disc, Lake, Octahedron, Plane, Planet and Sphere) are drawn with a turquoise/aqua colour. This is to differentiate them from non-displaceable objects.
- The drop point of an object now shows when you mouse over the “Drop to terrain” button in transform panels.
SHADERS AND FUNCTIONS
- There is a new “Geog image map shader” node which can load georeferenced images. It can be used as a colour shader or a displacement shader.
- The Image map shader has two new parameters in the Effects tab. “Use alpha/transparency for direct blending” will blend the image with underlying surfaces based on its alpha channel or any transparency generated through keying, without having to mess about with masking shaders. “Invert alpha/transparency” inverts the image alpha or generated transparency.
- The Image map shader now defaults to Plan Y projection. It sets the size of the image so the longest side of the image is 500m and the image has the correct aspect ratio.
- The Heightfield Shader allows you to choose the displacement direction. Options are “Vertical (normal in geometry)”, “Normal” and “Y axis”. Y axis is the default for backward compatibility, but any newly created nodes will default to “Vertical (normal in geometry)”.
- The Heightfield Shader’s “Flatten surface first” now has 3 modes to choose from. Options are “to Undisplaced Surface”, “to Computed Terrain (pos. in texture)”, and “to Y = 0”. When loading existing projects or clips this will default to Y = 0 for backward compatibility, but new nodes default to Undisplaced Surface because this is usually better for heightfields which may appear anywhere on the planet.
- If a heightfield is georeferenced, the Heightfield Shader no longer limits it to the +Y hemisphere of the planet.
- Fixed a bug whereby some default parameters weren’t being set for heightfields loaded from the Library.
- Fixed a bug whereby some default parameters weren’t being set for heightfields added with the “Add Terrain” button.
- 4D noise can be used without crashing.
- Power Fractal Shader V3 and Cloud Fractal Shader V3 allow “smallest scale” to have very small values again, safely.
- Added “altitude key” parameter to Surface Layer. Behaviour should be unchanged with the default value. Improved GUI layout of “use Y” and “slope key” parameters.
- Improved GUI layout of “use Y” and “altitude/slope key” parameters on Distribution Shader V4.
- New function node: Build HSV Colour. This operates in a similar way to Build Colour, except that the secondary, third and fourth inputs are interpreted as hue, saturation and value, instead of red, green and blue. The output is an RGB colour.
- Previews of warp shaders no longer render black when their inputs don’t generate any colour. The preview should generate some default shading for displacement-only shaders, and this now works with warp shaders that follow displacement-only shaders.
- Shader previews draw shader bounding boxes, wireframes etc., as they do with heightfields.
- Newly-created fractal shaders now properly disable the “ridge smoothing” and “gully smoothing” parameters for the default Perlin noise flavour. Fixes Bug #536.
- Cloud Layers no longer have a “ray fuzziness” parameter.
- The Painted Shader has a new back end. This should greatly improve stability with large amounts of painting. It removes problems with doing things like painting from the terrain onto the sky. It also fixes the problem where you would do a lot of painting, save the project and then find TG would crash when you tried to open the project.
- When painting with the Painted Shader, the semi-transparent grey overlay in the 3D Preview has been replaced with a dark tint that shows more contrast in the scene being painted over.
- The Painted Shader brush outline is drawn in orange, which stands out better against the painted strokes (unless you’re painting in orange!)
- While editing a Painted Shader, the Paint Session Menu on the 3D Preview has a new item to open the parameter view for the node being edited.
- Mac and Linux only: Fixed some differences between Mac/Linux and Windows renders.
- Atmosphere and cloud rendering is now significantly faster in many cases.
- Fixed some rendering problems with spherical camera, particularly near the top and bottom of the image. Spherical renders now render faster too.
- In some situations where an object’s shaders were changed, the object was rendered with the old displacement shaders. This has now been fixed.
- The prepass no longer renders if there are no Enviro Lights enabled in the scene, speeding up renders in this case.
- Linux only: The Linux version is now built with a different compiler version (gcc 4.4) which fixes various weird problems that could crop up. An example of this was the incorrect rendering of TGO objects, which was fixed with a workaround in the previous version.
- Mac only: The Mac version is built with a new compiler. In some cases there are small improvements to rendering speed.
- Mac only: Made some changes which should improve some erratic UI behaviour especially noticeable on Mavericks.
- The “Add Object” menu on the Objects layout now looks like this:
Displaceable Object >
- Population menus throughout the application show only populatable objects.
- Fixed a bug (introduced in 22.214.171.124) with item filtering in the Library window when it’s been opened for a certain item type (i.e. Objects, Projects).
- Fixed a problem with the Library where rectangular item icons/previews would be drawn as square, making them look stretched.
- The Undo description for node creation contains the name of the node (unless more than one node is being created). For example, Undo might display “Undo Create Heightfield Shader 01”.
- Added a Deselect menu item to the Edit menu. This works in the 3D Preview, network view, animation panel curve editor and dope sheet.
- Stopped values from being cut off in the position readouts on the 3D Preview, and formatted them in a more readable way when the numbers are very large. The improved formatting also applies to the 3D Preview Location window and the measuring tool.
- When a camera is highlighted or selected in previews, the camera body wireframe is highlighted like the frustum is.
- The Camera node has a new “Show camera body in preview” parameter that lets you turn off drawing of the camera body in the 3D Preview. This can reduce visual clutter when you have a lot of cameras in a scene.
- The “Customise Bindings” button in the Input Settings prefs panel is now enabled all the time. Clicking the “Customise Bindings” button will open the Custom Bindings window and set the “Input presets” popup list to “Custom”.
- Fixed a problem with split panes that could cause the vertical splitter bars to resize incorrectly on the Mac, for example in the top left of the main window between the node list and mini preview. Please let us know if you have any problems with split panes.
End of changes for 3.1.02.0 (Release).