Default Shader 4.5
The Default shader node forms the basis for object surface mapping. It can provide base colours or load external images, as well as allowing control over translucency, luminosity, specular effects, displacement and opacity. Beginning with Terragen 4.5 the Default shader has been improved for working with Physically Based Rendering (PBR) materials.
Many aspects of this node are made up of groups of related settings. For example the base colour aspect has settings for "Base colour", "Colour image" and "Colour function". All of these settings work together to control the particular aspect they relate to.
This has implications you might not expect. For example, lets say you want to map the image of a leaf onto the leaf polygons of a plant model. For the true colours of the image to come through you need to set the "Base colour" to white. If it was set to some other colour, like red, that colour would influence the colours from the leaf image, tinting them red. You can use this to your advantage. If you thought the image was too bright you could use a grey colour to make it darker.
Keep in mind that the different settings of each group aspect interact with each other. This makes the Default shader very versatile, but you might want to make step-by-step changes and render previews in order to see their effect as you learn how they work together.
Here are some tips to working with the different aspects of the Default shader:
To specify a basic colour:
- Choose a colour with the "Base colour" setting.
- Don't specify anything for the Image and Function settings.
To use the colours directly from an image:
- Choose an image file with the "Colour image" setting.
- Set the "Base colour" setting to white.
- Don't specify anything for the "Colour function" setting.
To use the colours directly from a shader or function:
- Assign a shader or function to the "Colour function" setting.
- Set the "Base colour" setting to white.
- Don't specify anything for the "Colour image" setting.
To use an image or function to control where the colour appears:
- Specify the colour using the "Base colour" setting.
- Specify a greyscale image in the "Colour image" setting or "Colour function". More of the specified colour will appear where the image or function is lighter. White means full colour and black means no colour.
For a Metallic/Roughness workflow you can use the base colour to define the colour (albedo) of both metals and non-metals. Metallic surfaces have specular reflections that use the base colour as their main reflectivity colour. Non-metallic surfaces have a diffuse base layer that uses the base colour as its diffuse reflectivity.
For a Specular/Glossiness workflow, use the base colour to set the diffuse colour only. In this workflow the base colour should be set to 0.0 for raw metallic surfaces that have no diffuse reflectivity. For non-metal surfaces, including dirt and grime that may rest upon a raw metal surface, the colour values represent the colour of the diffuse material.
The three settings in this group define the base colour. Terragen multiplies all three settings together to determine its final value at each point on the surface.
- Base colour: This setting provides access to the Colour Picker pane in order to specify a base colour for the surface material. The adjustment slider can be used to modify the brightness of the colour value.
- Colour image: This setting allows you to assign an image map to the surface material’s colour channels. The image map is projected onto the surface material as defined on the Images tab.
- Colour function: This setting allows you to assign shader or function nodes to the surface’s materials colour channels.
Translucency is the effect of light filtering through a surface. For example you might use translucency on a leaf texture to simulate light passing through it. It's not the same thing as opacity and is explained in more detail here. The three settings of the translucency group are multiplied together to determine the final amount of translucency of the surface material.
- Translucency: This setting specifies the amount of translucency a surface material has, and acts as a multiplier to the "Translucency image" and "Translucency function" settings. Translucency is the effect of light filtering through a surface, and more information may be found here.
- Translucency image: This setting allows you to assign an image map to control the amount and location of translucency on the surface material. The image map is projected onto the surface material as defined on the Images tab.
- Translucency function: This setting allows you to assign shader or function nodes to control the amount and location of translucency on the surface material.
Luminosity is the effect of a surface’s self illumination or glow. See the Surface Layer - Luminosity Tab page for a more detailed information about using the luminosity settings.
- Luminosity: This setting provides access to the Colour Picker pane in order to specify a colour or amount (greyscale) of luminosity for the surface material. The adjustment slider can be used to adjust the level of luminosity.
- Luminosity image: This setting allows you to assign an image map to control the amount and location of luminosity on the surface material. The image map is projected onto the surface material as defined on the Images tab.
- Luminosity function: This setting allows you to assign shader or function nodes to control the amount and location of luminosity on the surface material.
Settings on this tab control the smoothness of a surface material. All the settings are multiplied together and evaluated to determine the final roughness value. When the combined values evaluate to 0 a perfectly smooth surface will result and reflections will be sharp and mirror-like. Rougher surfaces are the result of values closer to 1.0 and will make reflections appear more blurry.
- Roughness: This value should be set to 0 for perfectly smooth surface materials and up to 1.0 for rougher surfaces.
- Roughness image: This setting allows you to specify an image file to use for roughness.
- Invert image: When enabled, or checked, the image assigned to the “Roughness image” is inverted, i.e. black becomes white.
- Gamma image:When enabled, or checked, assumes the image assigned to the “Roughness image” is in sRGB colour space and needs to be converted to linear colour space.
- Roughness function: This setting allows you to assign shader or function nodes to determine the surface material’s roughness value.
- Specular roughness model: This popup menu has two options for choosing the type of specular roughness model used on the surface material. Beckmann TG 4.5 is better at preserving energy when roughness is high. This is the default option for new projects, but existing projects will load with their own model for backwards compatibility.
Generally speaking, a surface material is either metal or it’s not. The combined (multiplied) values of the “Metalness”, “Metalness image”, “Gamma image” and “Metalness function” settings should always evaluate to 1.0 for a metal material or 0.0 for a non-metal. Note, greyscale values can be used to denote where non-metal materials, such as dirt or grime occur on the metal surface.
- Metalness: This value should be set to 1.0 for metal surfaces or 0 for non-metallic surfaces.
- Metalness image: This setting allows you to specify an image file to use for metalness.. White pixel values (255,255,255) in sRGB colour space should be used for metal and black pixel values (0,0,0) for non-metal.
- Gamma image: When enabled, or checked, assumes the image assigned to the “Metalness image” is in sRGB colour space and needs to be converted to linear colour space.
- Metalness function: This setting allows you to assign shader or function nodes to determine the surface material’s metalness value. A value of 1.0 (sRGB 255,255,255) indicates a metal material and a value of 0 indicates a non-metal material.
The Fresnel effect states that the amount of light reflected from a surface depends on the viewing angle at which it is perceived. The classic example of this is the reflections on a body of water. Looking straight down towards your feet, you can see directly through the water to any terrain beneath. This would be considered zero degrees or F0. Gazing outwards towards the horizon, perpendicular to the water surface, you see the reflected sky more intensely on the surface of the water. In the PBR shading model a reflection becomes almost 100% at an incident angle of ninety degrees.
- Fresnel reflectivity: This sets the intensity of the Fresnel effect. In Terragen 4.5 this defaults to 0.75.
- Reflectivity image: This setting allows you to specify an image file to use for the intensity of the Fresnel effect and where it is visible on the surface material.
- Reflectivity function: This setting allows you to assign shader or function nodes to control the intensity of the Fresnel effect and where it is visible on the surface material.
- Fresnel reflection tint: This setting allows you to tint the colour of the reflected light in the area defined by the Fresnel effect.
- Index of refraction: When a ray of light passes through one medium to another, such as through a glass vessel into water, it changes direction. The IOR is a way of optically measuring this phenomenon, for example water has an IOR of 1.33 and glass has an IOR of 1.52.
The settings found under this tab allow you to control the three dimensional displacement of the surface material. Displacement is only applied if an image is specified in the “Displacement image” setting, or shader or function nodes assigned to the “Displacement function” setting.
- Displacement direction: This popup menu has 5 options which let you choose the direction the displacement is applied in. Options that indicate “(requires computed normal)” require a Compute Terrain or Compute Normal node to be connected somewhere above the Default shader node in the network to work properly.
- Along vertical: Displacement happens along the normal of the underlying planet or 3D object.
- Along normal: Displacement happens along the current surface normal.
- Vertical only (requires computed normal): Displacement only happens along the normal of the underlying planet or 3D object. 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, that is 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, that is 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 image: This setting allows you to specify an image file to use for displacement. The luminance of the image pixels is used to generate displacement.
- Gamma image:
- Displacement function: This setting allows you to assign shader or function nodes to use as displacement for the surface material.
- Displacement offset: This value is added to incoming displacement values after they are multiplied by the “Displacement multiplier” setting. 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.
- Opacity image:
- Use alpha channel:
- Invert opacity image:
- Opacity function:
- Alpha from colour:
- Alpha key:
- Key tolerance:
- Image projection:
- Projection camera:
- Unpremultiply colour:
- Unpremultiply metalness:
- Unpremultiply translucency:
- Unpremultiply luminosity:
- Unpremultiply reflectivity:
- Unpremultiply specular roughness:
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.
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 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.
This is essentially the brightness of the colour. Terragen converts RGB colours to greyscale by taking the luminance of the colour.