Surface Layer - Displacement Tab
Displacement is what gives three dimensional shape to your surface layers. The Displacement contains settings which let you control displacement for the layer.
Displacement is a process where the micropolygons which make up the rendered scene get moved in space to create 3D shapes. The Surface Layer gets the information it needs to perform displacement from the node connected to the Displacement function input. There are many nodes you can use to create displacement.
The Displacement function expects scalar inputs. This means some nodes which create displacement themselves may not give the results you expect, no displacement for example. You can connect nodes which create colour though. The colour will be automatically converted to a scalar. An example of this would be using the Simple Shape Shader to create displacement. If you turn on displacement for the shape shader you won't get any displacement. However if you turn on colour for the shape shader you will see displacement. From v2.4 on you can use the Displacement Shader to Vector node to convert the output of a displacement shader to a vector which can be connected to the Displacement function input. The vector gets converted to a scalar.
It might be tempting to use the Surface Layer displacement to create large features in the landscape, mountains for example. Although you can do this we don't recommend it. For best results large features should be created as part of the terrain itself rather than in surface layers. They should be connected above the Compute Terrain node.
Displacement direction: This popup list allows you to choose the direction that displacement is applied in. Any options in the popup list that have "(requires computed normal)" require that there be a Compute Terrain or Compute Normal connected somewhere above them in the network to work properly. The popup has the following options:
- Along vertical: Displacement will happen along the normal of the underlying object (i.e. the planet or a model) without any displacement being applied.
Along normal: Displacement will happen along the current surface normal.
Vertical only (requires computed normal): Displacement only happens along the normal of the underlying object (i.e. the planet or a model). The displacement is scaled by the difference between the object normal and the surface normal. Displacement is reduced as the angle between the normals approaches 90°.
Lateral only (requires computed normal): Displacement only occurs in the lateral plane, or in other words perpendicular to the normal of the underlying object.
Lateral normalized (requires computed normal): This is the same as Lateral only but the normal is normalised (scaled so it has a length of 1).
Displacement multiplier: This multiplies the displacement values coming from the Displacement function input. A value of 1 leaves the incoming values unchanged. A value of 2 would make the incoming values twice as large. A value of 0.5 would make them half as large. Negative values will invert the displacement.
Displacement function: This parameter is where you connect the node(s) used to generate displacement for the layer.
Displacement offset: This value is added to incoming displacement values after they are multiplied by the Displacement multiplier parameter. This creates the effect of offsetting the displacement by a set amount along the Displacement direction. Positive values push the displacement out so it looks almost as if it was sitting on a plinth. Negative values will sink the displacement back into the surface. It doesn't reverse the displacement, it's more like creating a hole in the surface and then applying the displacement to the bottom of the hole.
Back to: Surface Layer
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.
A scalar is a single number. 1, 200.45, -45, -0.2 are all examples of scalar values.
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.
A vector is a set of three scalars, normally representing X, Y and Z coordinates. It also commonly represents rotation, where the values are pitch, heading and bank.
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.