Render Node (TG3)
The Render node contains the settings used to produce final renders and can also be used to start rendering images and animation sequences. The Render node works in concert with the Camera node to create a render of your scene from a specific perspective.
Basic controls include the Width and Height of your output image, the camera from which your scene will be rendered, overall scene Detail, and Antialiasing. Many additional controls for fine-tuning scene detail and quality are also provided, including Global Illumination (GI) settings, as well as Contrast and Gamma Correction functions. You can also render partial crops of your select cameras view using the Crop Region functions. Sequence/Output allows you to output a sequence of images for animation (in versions of Terragen that include Animation features).
Terragen 2 only: When you start a new project in Terragen 2 there are two render nodes created for you. One is called "Full Render" and the other is called "Quick Render". Both of these nodes are Render nodes. The difference between them is that "Full Render" has preset settings more suitable to a final render whereas "Quick Render" has lower quality presets suitable for a quick preview render.
- Master: Check this to make the node the Master render node. The Master render node is the one which will be used to render projects loaded from the command line or a batch file.
- Image width: This param sets the width of the rendered image in pixels.
- Image height: This param sets the height of the rendered image in pixels.
- Lock aspect ratio: If this is checked then the image aspect ratio is locked. When you make changes to the image width or height the other param will be changed so that the aspect ratio of the image is maintained.
- Aspect ratio: You can change the aspect ratio for the image using the controls under the Lock aspect ratio param. Values greater than 1 will make the image wider and values less than 1 will make the image taller.
- Camera: This param sets the Camera node used for rendering the image. A Render node must have a camera assigned to it before it can render.
- Surfaces visible: If this is unchecked then surfaces (e.g. terrain, vegetation etc.) are rendered as "holdouts". This means they will appear to the camera as if they were black and will have a value of 0 in the alpha channel of the rendered image.
- Atmo/cloud visible: If this is unchecked then the atmosphere and clouds will not be directly visible to the camera. It will appear as though there is no atmosphere, but the atmosphere may still affect the lighting of the scene.
- Do shadows: Uncheck this to stop shadows rendering.
- Render Image: Clicking this button will start rendering an image. If you want an image to be automatically saved to disk when the render finishes, use "Render All To Disk" instead.
- Render All To Disk: Clicking this button will start rendering an image, and when it finished it will save the image to the path and filename specified on the Sequence/Output tab. If "Extra output images" is enabled on the Sequence/Output tab it will also save any render elements that are enabled.
- Detail / Micropoly detail: This setting controls the size of the micro-polygons that surfaces are divided up into when rendering. Higher values provide more detail by using smaller micro-polygons. Although you can enter any value here the normal range is from 0 to 1. A setting of 0.8 is high quality. Increasing this value can lead to longer render times.
- Anti-aliasing: This controls the amount of anti-aliasing in the image. This is one of the most important settings for controlling the quality of your image and the time it takes to render. This parameter is also shown in the Render Pixel Sampler. The square of the anti-aliasing number tells you the maximum number of primary rays that are traced per pixel of the image, or in other words the maximum samples per pixel. An anti-aliasing value of 3 means that up to 9 samples can be taken per pixel; a value of 8 means that some pixels may take up to 64 samples, and this is usually enough for very good images. Adaptive sampling techniques are used to avoid taking the maximum number of samples where the sampler detects that the contrast between adjacent samples is below some threshold. This can be an effective way to concentrate anti-aliasing work where it is needed most, to increase quality and reduce the render time.
- Edit sampling…: Clicking this button opens the Render Pixel Sampler which lets you set advanced sampling parameters.
- Ray trace objects: If this is checked, objects (plants for example) are rendered using raytracing. Generally speaking this leads to a higher quality image which renders more quickly. The disadvantage to using raytracing is that objects will not be rendered with displacement. If an object has displacement mapping in its textures the raytracer will convert this to bump mapping. More info: Ray Trace Objects and Defer Atmosphere/Cloud.
- Defer atmo/cloud: If this is checked the atmosphere is rendered using raytracing. This can give better looking results than the normal micropolygon renderer and might be faster. However it may be slower for some scenes. More info: Ray Trace Objects and Defer Atmosphere/Cloud.
The settings on the Crop tab let you crop the rendering to a specific part of an image. Only parts of the scene inside the crop region are rendered. Using the crop region can be useful in several ways. You can use it to render just a small part of an image to preview it or check something. You can use it to re-render a specific part of an image. You could also use it to divide an image into several parts to be rendered on multiple machines, although it is better to use the tile options on the command line for this purpose.
The positions of the crop region edges are set as a proportion of image size, rather than by specifying the size in pixels. The position values run from 0 to 1. The top or left side of the image is 0. The right or bottom side of the image is 1. Let's say you want to render only the left half of an image. Set the top to 0 and the bottom to 1 to render the full height of the image. Now set the left to 0 and the right to 0.5. 0.5 is halfway across the image.
An easier way to set the crop region edges is to use the 3D Preview. When you check Do crop region the crop region is drawn in red on the 3D Preview. You can click and drag to resize the crop region in the preview.
- Do crop region: If this is checked the render will be cropped specified in the fields below.
- Crop left: This sets the position of the left side of the crop region.
- Crop right: This sets the position of the right side of the crop region.
- Crop bottom: This sets the position of the bottom side of the crop region.
- Crop top: This sets the position of the top side of the crop region.
- Crop to object: If this is checked the render will be cropped to the bounding box of the assigned object. Please note that the object must be TG's built-in Sphere object. If you use some other sort of object the render won't be cropped.
- Detail blending: This controls how much blending occurs between levels of detail as the distance between camera and surface changes. Blending also softens the appearance of surfaces. Higher blending values increase render time. For still images we recommend that you set this to 0 for the fastest render times. For animations we recommend values between 0.5 and 1. The Animation Check button (on the render node's Advanced tab) will check this setting and offer to set it to at least 0.5.
- Microvertex jittering: This setting is important to reduce the appearance of straight lines in some displaced surfaces. For still images we recommend you keep this turned ON. For animations, OFF seems to produce a more stable animation, but ON sometimes reduces render times by a small amount.
- Detail jittering: For still images you should keep this turned ON. However, there is a mistake in the renderer that causes this to change from one frame to the next in an animation, so for animations you should switch it OFF. The Animation Check button (on the render node's Advanced tab) will check this setting and offer to turn it OFF.
- Motion-robust subdivision: This feature's purpose is to blend between levels of detail when calculating shadows and reflections. It aims to provide 2 benefits. First, it changes the appearance of shadows crawling across surfaces as the distance from camera changes. The crawling motion is instead replaced by a gradual blend between different shadow positions. (Unfortunately it's impossible to completely stop the shadows from changing shape, because the terrain that casts the shadows needs to change levels of detail as the camera moves.) Second, because the shadow positions are now blended instead of moving from frame to frame, this should prevent popping that occurs when shadow-casting micropolygons change their shape very close to the shadow-receiving point. Unfortunately, this feature produces artefacts of its own: sometimes a kind of cross-hatching pattern is visible. Therefore it may not be suitable for some scenes. It may also change render times.
- Ray trace objects: If this is checked, objects (plants for example) are rendered using raytracing. Generally speaking this leads to a higher quality image which renders more quickly. The disadvantage to using raytracing is that objects will not be rendered with displacement. If an object has displacement mapping in its textures the raytracer will convert this to bump mapping. More info: Ray Trace Objects and Defer Atmosphere/Cloud
- Ray trace everything: This is explained here: Ray Trace Objects and Defer Atmosphere/Cloud.
The Advanced Tab holds some advanced settings for managing the rendering process. There are settings related to the number of threads used during a render, certain blocks of memory used during rendering and how some render information is generated.
Managing render threads
Terragen can render different sections of the image at the same time. These image sections are known as buckets. Many computers have multiple processor cores, and on these computers rendering can be completed faster if each core renders a bucket at the same time. The buckets are assigned to render threads. A thread is a section of a computer program which can do work at the same time as other parts of a program.
When Terragen starts up it automatically detects the number of cores your computer has. This number is displayed on the Splash Screen. By default Terragen creates one render thread for each core it detects. For example, if your computer has 4 cores then Terragen will create 4 render threads during rendering. This means Terragen can render 4 buckets at the same time. It is possible to override the core detection in the Startup panel of the preferences.
The render node gives you control over this on a per project, per render node basis. You can use the Minimum threads and Maximum threads parameters to influence how many render threads Terragen creates. These parameters set the the upper and lower limits of the number of render threads created. The Maximum threads parameter is really the most useful of the two and the parameter you are most likely to want to change.
Let's say your computer has 4 cores and you only want it to use 3 cores for some reason. To do this you could set the Maximum threads parameter to 3. You could use the Minimum threads parameter to force Terragen to create more render threads than it normally would, although this is not recommended.
Caution: If you think you might want to share your project files with other people, be aware that limiting the threads in this way could make the render much slower than it needs to be on other people's computers. The safest choice is to leave this at a high value (like 64) and to set an override in Preferences > Startup instead.
Managing the subdivison cache
As Terragen renders it subdivides scene geometry into small pieces. It can store these small pieces in a subdivision cache to save having to recalculate them so often for things like ray traced shadows, reflections and GI rays, which can make rendering faster. There are two settings you can use to control the subdiv cache. You can set the maximum size of the subdiv cache using the Size of subdiv cache in MB parameter. This controls the maximum amount of memory Terragen can dedicate to the subdiv cache. The subdiv cache is divided up between render threads. If 4 render threads are created each thread will get 100 MB of the subdiv cache.
If you set the subdiv cache so small that less than 50 MB would be used per render thread Terragen will automatically increase the subdiv cache size to the minimum of 50 MB per thread.
Normally Terragen will use up the subdiv cache on an as-needed basis. The size parameter limits how can much be used but it may not use that much. There may however be times when you want the subdiv cache to be created in it's entirety when rendering starts. You can use the Preallocate subdiv cache parameter for this. One situation where you might want to do this if you are having problems with running out of memory during rendering. By preallocating the subdiv cache you might help these sorts of errors become apparent sooner, which can save time in trying to figure out what is going wrong.
You may be tempted to set the subdiv cache to quite a large size. While increasing it a bit can be helpful in some scenes we don't recommend that you increase it a lot, particularly if you also check the preallocation option. When running in 32 bit mode Terragen may only have 2 to 4 GB of memory available. If you were to set the subdiv cache size to 1600 MB (1.6 GB) then that could mean only 400 MB of memory is left for other purposes. In this case you are likely to experience render errors or other problems. Even if you are using the 64 bit version setting the subdiv cache size too large can unnecessarily use up memory and may cause rendering to become slow or cause errors to occur.
If you want to experiment with the subdiv cache size 100 to 150 MB per render thread is a good place to start. As with many advanced settings the best results will probably vary between different scenes.
Note that the 64 bit version has different default settings for the subdiv cache size than the 32 bit version. This is because memory is not quite so restricted in the 64 bit version and so Terragen bases the default size on the number of cores detected.
- Minimum threads: Sets the minimum number of threads Terragen creates during rendering.
- Maximum threads: Sets the maximum number of threads Terragen creates during rendering.
- Size of subdiv cache in MB: This parameter controls how many megabytes of memory the subdivision cache can use.
- Preallocate subdiv cache: If this is checked Terragen will allocate the entire subdivision cache when rendering starts.
- Ray detail region: The ray detail region is the area in the scene where polygons with displacement are fully subdivided by the ray tracer. Polygons outside this area are only coarsely subdivided. Sometimes you might have problems like shadows cast by objects outside the the camera view not seeming accurate. This could be corrected by changing the ray detail region.
- No detail: Nothing is fully subdivided. Everything is subdivided only coarsely.
- Detail in crop region: Areas within the camera view - or the crop region if it's enabled - are fully subdivided by the ray tracer. Areas outside this are only coarsely subdivided.
- Detail in camera: Areas within the camera view are fully subdivided by the ray tracer. Areas outside this are only coarsely subdivided.
- 360 degree detail (optimal): The subdivision detail is highest in the direction that the camera is looking towards. The detail gradually decreases to 33% of the highest detail behind the camera, so detail outside of the camera view is usually higher than in the previous two modes. In this mode Ray detail region padding is ignored. This mode does not work with orthographic cameras.
- 360 degree detail (highest): The subdivision detail is uniform in all directions around the camera position, even behind the camera. This produces the highest all-round detail in displacements that cast shadows or appear in ray traced reflections, but beware that this mode can increase render times greatly, especially if there are any ray traced reflections appearing on objects with high curvature or displacement. In most cases it's preferable to use 360 degree detail (optimal) instead. In this mode Ray detail region padding is ignored. This mode does not work with orthographic cameras.
- Ray detail region padding: If you are using Detail in crop region or Detail in camera you can use this "padding" amount to enlarge the ray detail region beyond the crop region or camera view. The value is typically between 0 and 1 and it controls the amount of padding. 0 means no padding. 1 adds a border around that area which is the same as the width or height of the area. This will make the ray detail region 3 times as wide and 3 times as tall (as seen from the camera). If you need to go higher than 1, consider changing the Ray detail region to 360 degree detail (optimal).
- GI prepass padding: This setting does a similar thing to the ray detail region padding, but it works on GI samples. The padding can help to resolve problems with GI differences around the edges of crops or images. These might be apparent if you're stitching images together. Small values are recommended. 0.1 might be a good starting point.
Refer to Render Layers and Render Elements
The Sequence/Output Tab contains settings which relate to the images and geometry output during rendering, as well as allowing you to render animation sequences in versions of Terragen that include animation features.
- Output image filename: This is the filename of the main image that is saved to disk when you use "Render All To Disk", "Render Sequence" or render from a command line. This may be overridden on the command line (using the -o command), but if it isn't overridden then Terragen will use this filename. If you are using a render farm or render manager it might override this filename.
- Extra output images: The checkbox enables the output of additional Render Elements, or, if no render elements are rendered it outputs an alpha image. This applies when using "Render All To Disk", "Render Sequence" or rendering from a command line. This may be overridden on the command line (using the -ox command), but if it isn't overridden then Terragen will use this filename. If you are using a render farm or render manager it might override this filename. The word 'IMAGETYPE' (not including quotes) needs to be included somewhere in the filename if you want each render element to have a distinct filename. 'IMAGETYPE' is replaced by a word that represents the name of the render element. A list of these element names can be found here.
- Micro exporter: Check this param and assign a micro exporter node to export rendered scene geometry.
- Sequence first: Set the first frame rendered in an animation sequence.
- Sequence last: Set the last frame rendered in an animation sequence.
- Sequence step: Sets the step between frames in animation sequence. For example if you want to render every fifth frame in a sequence set this to 5.
- Render sequence: Click this button to start rendering an animation sequence.
For more information on how Terragen renders a scene, review the Rendering Methods page.
A single object or device in the node network which generates or modifies data and may accept input data or create output data or both, depending on its function. Nodes usually have their own settings which control the data they create or how they modify data passing through them. Nodes are connected together in a network to perform work in a network-based user interface. In Terragen 2 nodes are connected together to describe a scene.
A parameter is an individual setting in a node parameter view which controls some aspect of the node.
A single element of an image which describes values for color and/or intensity, depending on the color system which the image uses. Groups of ordered pixels together form a raster image.
Literally, to change the position of something. In graphics terminology to displace a surface is to modify its geometric (3D) structure using reference data of some kind. For example, a grayscale image might be taken as input, with black areas indicating no displacement of the surface, and white indicating maximum displacement. In Terragen 2 displacement is used to create all terrain by taking heightfield or procedural data as input and using it to displace the normally flat sphere of the planet.
The bounding box is a box which surrounds (or bounds) an object or shader. This box shows the maximum extents of the item inside it. Sometimes abbreviated as "b-box".
When Terragen renders, it divides the image up into buckets or tiles. Each bucket is rendered separately, allowing multiple buckets to be rendered at once. It also allows memory to be used more efficiently.