Difference between revisions of "Path Tracing"

From Terragen Documentation from Planetside Software
Jump to: navigation, search
(First publish)
 
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
 
The joys of enabling "Path tracing on surfaces" include:
 
The joys of enabling "Path tracing on surfaces" include:
  
* Brute force GI. The GI cache is not used. Instead, GI is sampled at every pixel (every subpixel, in fact), to give you crisper contact shadows, more detailed calculation of light scattering through trees, and so on. At low AA it will be noisy. But the noise is controlled by increasing the Anti-aliasing.
+
* Brute force GI. The GI cache is not used for surfaces (but is still used for atmosphere). Instead, GI is sampled at every pixel (every subpixel, in fact), to give you crisper contact shadows, more detailed calculation of light scattering through trees, and so on. At low AA it will be noisy. But the noise is controlled by increasing the Anti-aliasing.
  
 
* Blurred/glossy reflections. Any reflective shader, water shader or default shader that has reflectivity turned up will benefit from brute-force ray-traced blurred reflections. The blurriness depends on the "specular roughness" which is controllable in all of those shaders. The "ray trace reflections" parameter is ignored, and reflections are always ray traced. As mentioned above, it will be noisy at low AA, but noise will decrease as you increase Anti-aliasing.
 
* Blurred/glossy reflections. Any reflective shader, water shader or default shader that has reflectivity turned up will benefit from brute-force ray-traced blurred reflections. The blurriness depends on the "specular roughness" which is controllable in all of those shaders. The "ray trace reflections" parameter is ignored, and reflections are always ray traced. As mentioned above, it will be noisy at low AA, but noise will decrease as you increase Anti-aliasing.
  
 
* Better anti-aliasing of reflections in displaced surfaces such as water.
 
* Better anti-aliasing of reflections in displaced surfaces such as water.
 +
 +
==== Things to be Aware Of ====
  
 
Path Tracing On Surfaces automatically uses "Defer atmo/cloud" and "Defer all shading" regardless of those checkbox settings, and the UI doesn't let you change those options when path tracing is enabled.
 
Path Tracing On Surfaces automatically uses "Defer atmo/cloud" and "Defer all shading" regardless of those checkbox settings, and the UI doesn't let you change those options when path tracing is enabled.
  
When "Path tracing on surfaces" is enabled, the normal GISD is not performed by the renderer. In GI Settings there is a new set of GISD options called "Exaggerate surface details" which applies to path traced renders only, and this is turned OFF by default.
+
When "Path tracing on surfaces" is enabled, the normal GISD is not performed by the renderer. In GI Settings there is a new set of GISD options called "Exaggerate surface details" which applies to path traced renders only, and this is turned OFF by default. Use of this setting biases the result in a way that is likely to be unrealistic but may be aesthetically pleasing in some situations.
  
 
Image quality is controlled using the overall anti-aliasing settings of the renderer. We recommend using the new "Robust adaptive sampling" mode whenever you render with path tracing. This can be found in the Pixel Sampler settings ("Edit Sampling..." on the renderer's Quality tab). The old adaptive sampler has trouble dealing with some of the Monte Carlo noise created by the path tracer, especially on darker surfaces. The new robust adaptive sampler was designed to work well with the path tracer (although it is useful in other cases too).
 
Image quality is controlled using the overall anti-aliasing settings of the renderer. We recommend using the new "Robust adaptive sampling" mode whenever you render with path tracing. This can be found in the Pixel Sampler settings ("Edit Sampling..." on the renderer's Quality tab). The old adaptive sampler has trouble dealing with some of the Monte Carlo noise created by the path tracer, especially on darker surfaces. The new robust adaptive sampler was designed to work well with the path tracer (although it is useful in other cases too).
 +
 +
When "Path tracing on surfaces" is enabled, the Enviro Light "Strength on surfaces" and "Colour on surfaces" settings have no effect. Bounced and occluded light is fully handled in a realistic, energy-conserving manner by the path tracer and can't currently be biased in this way. However the respective atmosphere settings are still taken into account since atmospheric lighting continues to be cache-based even when using path tracing.
 +
 +
=== Render Time Impact and Optimization ===
 +
 +
Although Path Tracing is much more accurate and in many cases more realistic-looking, it can also be a very demanding rendering method due to directly calculating all the actual light interactions in the scene, without approximations like the GI cache. As a result render times can often be much longer than with a standard render. Fortunately there are some important settings and optimizations you can use to reduce path tracing render times to a minimum while maintaining quality. Please reference the [[Rendering Optimization Guide]] for details.
 +
 +
Ultimately you will need to determine for yourself whether the benefits of path tracing are right for your particular scene, hardware, and goals. But it's a valuable new tool to have available, even as it may not be the ideal choice for every situation.

Latest revision as of 21:31, 24 August 2019

Beginning with Terragen 4.3, "Path tracing on surfaces" is an option you can enable on the Advanced tab of the render node. Radio buttons are provided on the Advanced tab to switch between "Standard renderer" and "Path tracing on surfaces".

Please note that path tracing is still in development, and we don't recommend using this in production yet. Future builds may radically change the appearance of materials, sampling quality and so on. Subsurface effects in Water Shader and Glass Shader are not working yet. There may be other rendering features which don't work correctly when path tracing is enabled. You may find corner cases where the renderer becomes extremely slow - if you do, please send us TGDs so that we can optimise for these cases.

The joys of enabling "Path tracing on surfaces" include:

  • Brute force GI. The GI cache is not used for surfaces (but is still used for atmosphere). Instead, GI is sampled at every pixel (every subpixel, in fact), to give you crisper contact shadows, more detailed calculation of light scattering through trees, and so on. At low AA it will be noisy. But the noise is controlled by increasing the Anti-aliasing.
  • Blurred/glossy reflections. Any reflective shader, water shader or default shader that has reflectivity turned up will benefit from brute-force ray-traced blurred reflections. The blurriness depends on the "specular roughness" which is controllable in all of those shaders. The "ray trace reflections" parameter is ignored, and reflections are always ray traced. As mentioned above, it will be noisy at low AA, but noise will decrease as you increase Anti-aliasing.
  • Better anti-aliasing of reflections in displaced surfaces such as water.

Things to be Aware Of[edit]

Path Tracing On Surfaces automatically uses "Defer atmo/cloud" and "Defer all shading" regardless of those checkbox settings, and the UI doesn't let you change those options when path tracing is enabled.

When "Path tracing on surfaces" is enabled, the normal GISD is not performed by the renderer. In GI Settings there is a new set of GISD options called "Exaggerate surface details" which applies to path traced renders only, and this is turned OFF by default. Use of this setting biases the result in a way that is likely to be unrealistic but may be aesthetically pleasing in some situations.

Image quality is controlled using the overall anti-aliasing settings of the renderer. We recommend using the new "Robust adaptive sampling" mode whenever you render with path tracing. This can be found in the Pixel Sampler settings ("Edit Sampling..." on the renderer's Quality tab). The old adaptive sampler has trouble dealing with some of the Monte Carlo noise created by the path tracer, especially on darker surfaces. The new robust adaptive sampler was designed to work well with the path tracer (although it is useful in other cases too).

When "Path tracing on surfaces" is enabled, the Enviro Light "Strength on surfaces" and "Colour on surfaces" settings have no effect. Bounced and occluded light is fully handled in a realistic, energy-conserving manner by the path tracer and can't currently be biased in this way. However the respective atmosphere settings are still taken into account since atmospheric lighting continues to be cache-based even when using path tracing.

Render Time Impact and Optimization[edit]

Although Path Tracing is much more accurate and in many cases more realistic-looking, it can also be a very demanding rendering method due to directly calculating all the actual light interactions in the scene, without approximations like the GI cache. As a result render times can often be much longer than with a standard render. Fortunately there are some important settings and optimizations you can use to reduce path tracing render times to a minimum while maintaining quality. Please reference the Rendering Optimization Guide for details.

Ultimately you will need to determine for yourself whether the benefits of path tracing are right for your particular scene, hardware, and goals. But it's a valuable new tool to have available, even as it may not be the ideal choice for every situation.

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 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.

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 parameter is an individual setting in a node parameter view which controls some aspect of the node.