Node Description & Purpose:
The Populator is used for creating and distributing many instances of the same object across a customizable rectangle area on the xz-plane. By using the Populator, the user can have the application accurately place instances of objects (instantiated objects) on the terrain surface automatically, so that the object's y coordinate matches the y coordinate of the terrain. The ability to specify a density shader allows users to mask the placement and distribution of objects. If no distribution shader is specified, the Populator places objects randomly across the defined rectangle area. To mimic more variety, the Populator can rotate instantiated objects randomly around the y-axis, and vary the object scale within a Population by user defined parameters.
The Populator v4 is new in Terragen 3. It has several important new features:
- Multithreaded population. Population is calculated on multiple cores at the same, making it considerably faster on multicore machines.
- Instance editing. This allows you to edit or delete individual instances within the population. You can find out more about instance editing here.
- Instance caching. Population instances can be saved to a cache file. The cache file is read when the population is loaded, potentially saving time compared with calculating the instances. You can find out more about instance caching here.
Another important change is that the Populator v4 no longer allows instances to appear outside the population area.
The Populator v4 replaces the Populator v3 in Terragen 3. All new populations are created using the Populator v4. However the Populator v3 is still available in TG3 so projects created in TG2 can still be loaded and will render as expected. The only difference is that you can't create new Populator v3 nodes in TG3.
If you would like to convert a population from v3 to v4, simply select it in the Node List on the left, then use the utility button with a Gear Icon below the node list to select "Upgrade Selected Population to v4". Note that you must have the population you want to convert selected in the Node List; node selections in the Node Network will not be detected.
For additional information and example projects for using Populator nodes, please see the Populator Guide.
Node Type: Population (of any object type)
- Name: The name of the populator node
- Enable (Checkbox): Enables or disables the Populator.
- Show b-box in preview: Enables or disables a 2D rectangle in the preview window, which marks the boundaries of the population on the xz axis.
- Preview mode: Lets you choose how the object should be displayed in the 3D Preview. This popup sets the most detailed mode that the object can be displayed in. The Object Display Mode button in the 3D Preview controls the mode for the preview as a whole. For example if you set the Preview mode of the object to Wireframe but the 3D Preview object display mode is set to Show as bounding boxes then the object will only be drawn as a bounding box.
- Preview colour: If you check this param the population will draw in the 3D Preview using the specified colour. The preview colour can be seen in bounding box, wireframe and smooth shaded preview modes. Use the colour button to choose a new colour.
- Object maker: Allows the user to enter or select an object maker that defines the object being populated.
- Render Quality: Allows for specifying the render quality of populated objects. To reduce render times, level-of-detail reduction is applied to parts of objects that appear very small in the rendered image, with respect to the image resolution and detail settings in the render node. Therefore more detail reduction is applied to objects in the distance or to objects with very small polygons. The Render Quality setting controls how much reduction takes place, but also affects render times. Note: this setting does not have an effect when Raytrace Objects is enabled, which is the default in newer versions of Terragen.
- Area Centre: Enter the 3D coordinates of the rectangle distribution area on the XZ plane; the Y value is used for height. Leave the Y field empty if you want to specify a terrain onto which the objects should be placed.
- Area Length a: Length of one side of the population boundary (along x).
- Area Length b: Length of one side of the population boundary (along z).
- Object Spacing in a,b: Specify the average distance from one object instance to the other.
- Spacing variation in a, b: This controls the randomness of the the position of the object instance. If you used a value of 0 there would be no random aspect to the placement of the object instances and they would all be lined up on a grid defined by the Object spacing in a,b. At the default value of 1 the placement of the object is the most random and the population as a whole looks the least regular.
- Use density Shader: If left empty, the Populator will completely cover the specified area with instantiated objects. You can use a density shader to give you more control over where objects are placed. The density shader is read as a mask where white areas mean objects are placed the most densely and black areas mean no objects will show up. Intermediate grayscale values will have varying levels of population density according to how light the grayscale value is.
- Invert Density Shader: Inverts the mask specified in the density shader.
- Repopulate every frame: Forces the populator to recalculate the positions and sizes of the instantiated objects every time a new frame is rendered. This is necessary if you animate your distribution functions, terrain, or object maker. If you don't check this box, the population will still be calculated automatically at the start of a render if any of the Populator's parameters have changed.
- "Populate Now" Button: Calculates a population of instanced objects based on the current settings. If you do not press this button, the population will be calculated automatically the next time you render an image, but if you have enabled "Preview instances" then you can use this button to preview the positions of the objects in the 3D Preview without rendering an image.
- Use instance cache: Check this to use a population instance cache. You can find out more about instance caches here. You will need to specify the cache file to read in the Cache Settings window, which can be opened by clicking the Cache Settings… button.
- Cache Settings button: Click this to open the Cache Settings window. You use the Cache Settings window to both save a cache file and specify the cache file to be used.
Additional tabs for Populator v4
A shader is a program or set of instructions used in 3D computer graphics to determine the final surface properties of an object or image. This can include arbitrarily complex descriptions of light absorption and diffusion, texture mapping, reflection and refraction, shadowing, surface displacement and post-processing effects. In Terragen 2 shaders are used to construct and modify almost every element of a scene.
The Node List is a part of the Terragen interface that shows a list of nodes along the left side of the application window. The Node List generally shows only those nodes that are relevant to the current Layout (e.g. Terrain, Atmosphere). It sometimes includes buttons or other controls that are specific to a particular Layout as well. The Node List is hierarchical and each level is collapsible.
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.
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".