Path Tracer Settings

The Path Tracer algorithm calculates indirect lighting by tracing a large number of rays from the camera or light map into the scene. These rays are bounced and traced further into the scene, depending on the properties of the surfaces they hit. Surfaces with a high diffuse reflectance will have a higher probability to continue the ray paths, giving more color bleeding to other surfaces. The path is only terminated when the probability for absorption is high enough. This is called an unbiased solution, since all possible light paths are considered, and the paths are not truncated to a maximum depth.

NOTE:The settings in this group are only used when rendering scenes with "classic" materials. They are not used at all for physically based rendering.

Illumination from the ray bounces are stored at selected points in the scene, resulting in a set of cache points. A parameter, <ptPointSize>, is used to set the distance between the cached points. A smaller distance will generate more cache points, and enable better capturing of details, but also higher memory usage and longer rendering time.

Once the pre-render pass completes, the path tracer cache holds an approximation of the indirect light. The quality of the solution depends on the number of paths used and the density of the cache.

The Path Tracer produces relatively noisy results, so it is typically not suitable for use as the primary GI integrator. However, since it is relatively fast, you might want to use it as the primary integrator when testing things like texture bake settings. To get a good balance between good quality and fast results, use the Path Tracer as the secondary integrator with final gather as the primary integrator. In this case, the settings can be set quite low and still produce good quality.

The following block lists all settings available, with their default values. Descriptions of the settings are below.

<GISettings>
    <ptAccuracy>1</ptAccuracy>
    <ptPointSize>0</ptPointSize>
    <ptPrecalcIrradiance>true</ptPrecalcIrradiance>
    <ptNormalThreshold>0.707</ptNormalThreshold>
    <ptFilterType>box</ptFilterType>
    <ptFilterSize>3</ptFilterSize>
    <ptPreview>true</ptPreview>
    <ptCacheDirectLight>true</ptCacheDirectLight>
    <ptCheckVisibility>false</ptCheckVisibility>
    <ptDefaultColor>
        <r>0</r>
        <g>0</g>
        <b>0</b>
    </ptDefaultColor>
    <ptDepth>5</ptDepth>
    <ptDiffuseIllum>true</ptDiffuseIllum>
    <ptSpecularIllum>true</ptSpecularIllum>
    <ptTransmissiveIllum>true</ptTransmissiveIllum>
    <ptConservativeEnergyLimit>0.95</ptConservativeEnergyLimit>
 </GISettings>

ptAccuracy

Sets the number of paths that are traced for each sample element (pixel, texel or vertex).

For lower-quality preview renderings, you can use a low value like 0.5 or 0.1, which means that paths will be generated from only half of the pixels or 1/10 of the pixels respectively. For higher-quality production renderings, you can use 1.0, or higher values if needed.

ptPointSize

Sets the maximum distance between the points in the path tracer cache.

If set to 0, a value will be calculated internally based on the size of the scene. This generated value is printed out during rendering. If you need to make adjustments to the point spacing, you can use this generated value as a good starting point.

ptPrecalcIrradiance

If enabled, the cache points will be pre-filtered before the final pass starts. This increases the performance of the final render pass.

ptNormalThreshold

Sets the amount of normal deviation that is allowed when filtering cache points.

ptFilterType

Selects the filter to use when querying the cache during rendering. Accepts the following values:

ptFilterSize

Sets the size of the filter as a multiplier of the cache point spacing value. For example; a value of 3.0 will use a filter whose width and height are three times as large as the cache point spacing. If this value is below 1.0, there is no guarantee that any cache point will be found. If no cache point is found, the default color will be returned instead for that query.

ptPreview

If enabled the pre-render pass will be visible in the render view.

ptCacheDirectLight

When enabled, the path tracer will also cache lighting from light sources. This increases performance, since fewer direct light calculations are needed.

This caching gives an approximate result, and hence can affect the quality of the lighting. For instance, indirect light bounces from specular highlights might be lost.

ptCheckVisibility

Enable this setting to reduce light leakage through walls.

When adjacent points are collected to interpolate between, some of these points can be located on the other side of geometry. As a result light will bleed through the geometry. To prevent this, Beast can reject points that are not visible from each other.

If you enable this setting, you should also ensure that light leakage checking is disabled for your final gather. See the <fgLightLeakReduction> setting under Final Gather Settings.

ptDefaultColor

Specifies the color that will be assigned to any areas that have not been reached by any path tracer rays. You can set this to an easily distinguishable color in order to find areas of your scene that are not reached by any light.

ptDepth

The average number of light bounces to use in the path tracing.

ptDiffuseIllum

Enables or disables diffuse bounces in the scene.

ptSpecularIllum

Enables or disables specular bounces in the scene.

ptTransmissiveIllum

Enables or disables transmissive bounces in the scene.

ptConservativeEnergyLimit

Determines the amount of energy that may be transmitted in a shading point, not including the emissive contribution. Accepts values from 0.01 to 1.0 inclusive. The default value of 0.95 should suffice for most projects.