Sampling

Sampling settings are the main determining factor of the image quality.

To render an image, AMD Radeon ProRender casts a number of ray samples for every pixel. As new sample values for the pixel are added, the sampling results are averaged to calculate the pixel color.

The image is rendered iteratively: with each new iteration, a new pixel sample is added, so the quality of the image is improved and the amount of noise is reduced. A greater number of samples produces a better result, but requires more time for the color computation.

The appearance of the scene changes depending on the sampling rate

Download the above scene (ma.zip)

Sampling Modes

AMD Radeon ProRender supports two sampling modes: adaptive sampling and fixed sampling. Sampling settings are separate for the final render and viewport rendering.

Adaptive Sampling Mode

Adaptive sampling is the default mode used to sample pixels in AMD Radeon ProRender. Adaptive sampling is particularly useful if some image regions are noisier than others, when it is not practical to set the overall sampling rate high and thus oversample the less noisy regions. Instead, it is recommended to choose adaptive sampling.

Adaptive sampling uses the following three parameters to control the sample density for a pixel: Min Samples, Max Samples and Threshold.

The Min Samples value defines the guaranteed number of samples that every pixel in the image will receive. Once this minimum value has been reached, the noise variance of each pixel is calculated. Sampling for a pixel stops either when the noise becomes less than the noise Threshold, or when the Max Samples value is reached. Rendering of the image areas that already have reached the noise Threshold will stop, therefore the noisier areas will be rendered faster. The calculations will add a bit of overhead, but this mode is recommended in most cases.

Fixed Sampling Mode

If all image regions appear equally noisy, you can instruct AMD Radeon ProRender to calculate samples for all pixels in a uniform fashion. To use this mode, set the Threshold value to 0. In this case, the sample rate will be controlled using the Max Samples parameter.

Threshold: 0 (fixed mode), Max Samples: 10000

Threshold: 0.05 (adaptive mode), Max : 10000

Download the above scene (ma.zip)

The above image with adaptive sampling is noisier in the “simple” areas (as it maintains the noise level), but just about the same in the “hard” area (see the glass panel, subsurface scattering panel and five area lights facing the parabolic low-reflective surface behind the panels). The version with adaptive sampling is about 3 minutes faster.

Threshold

If set to a non-zero value, the Threshold (also known as Adaptive Sampling Threshold, Noise Threshold) parameter enables adaptive sampling.

This parameter is used to determine whether additional samples will be calculated for a pixel. It describes how much variance there may be as new samples are added for the pixel. In other words, it measures how much noise is allowed for a pixel before sampling is stopped. The parameter’s value ranges from 0 to 1, where 0 means no noise (no variance) and 1 means all of the noise is allowed.

As new samples are cast, AMD Radeon ProRender checks how much the pixel has changed, and how much noise there is. If the noise is greater than the threshold, additional samples will be calculated, unless the Max Samples limit is reached. If the noise is less than the threshold, subsequent sampling for the pixel will stop.

A default noise threshold of 0.05 is a good preview value for most scenes. Lowering the threshold results in less noise per pixel and more time required to complete the render, while increasing the threshold value generally reduces the render time at the cost of the image quality.

If the parameter value is set to 0, adaptive sampling is disabled. In this case, the number of samples per pixel will be controlled by the Max Samples value. Setting the parameter value to 1 forces sampling to stop once the Min Samples limit has been reached.

See how the appearance of the scene changes depending on the Threshold value.

The appearance of the scene changes depending on Threshold

Render Sampling Settings

The Render Sampling Settings settings describe additional render requirements, as well as conditions that need to be reached to stop the rendering process. In AMD Radeon ProRender, the render completion criteria are set separately for the viewport and final renders.

Max Samples

The Max Samples parameter defines the maximum possible number of samples that a pixel may receive. In the case of adaptive sampling, sampling will stop when this limit is reached, even if the noise is still greater than the noise threshold. If adaptive sampling is disabled, the Max Samples value defines the uniform sample rate per pixel.

For scenes involving depth of field or motion blur, the Max Samples value should generally be increased.

Compare how the quality of the image changes in the fixed sampling mode as the Max Samples value is increased.

Max Samples: 1000

Max Samples: 5000

Max Samples: 10000

Min Samples

The Min Samples parameter is used for adaptive sampling only. It defines the minimum number of samples per pixel required. By changing the parameter value, you can control the overall guaranteed image quality before adaptive sampling is involved.

It is recommended not to set this value high, as this will slow down the rendering process. To achieve a clean image and save on rendering time, tune the Threshold value instead.

Compare how the quality of the image changes in the adaptive sampling mode as the Min Samples value is increased. The Threshold value is set to 1, and the Max Samples is set to 10000 for all images.

Min Samples: 16

Min Samples: 1000

Min Samples: 5000

Max Time Hours, Minutes, Seconds

The Max Time Hours, Minutes, Seconds parameters are used to define how long the rendering process can take before it is terminated. For animated scenes, the time limit is set per frame.

Note:

  • By default, the maximum render time is 0, which disables the time constraint. When maximum render time is disabled, the rendering process will only be limited by the number of render samples.

  • Disabling both the time and sampling constraints instructs AMD Radeon ProRender to perform unlimited, or infinite, rendering. To stop rendering in this case, the user should press ESC.

A render screenshot with the render time shown in the bottom line

Tile Rendering

By default, AMD Radeon ProRender renders all the pixels in the image simultaneously to calculate their color. When displayed, the image first appears grainy and noisy and is refined progressively as the renderer carries out more iterations and more samples are calculated. This approach requires more memory and CPU resources, but allows you to preview the whole image as fast as possible and interrupt the rendering process at an early stage in case any changes need to be made.

Instead of rendering the whole image, you can choose to render the image by tiles. Tiled rendering allows higher resolution renders without using as much memory and CPU resources.

The size of the tiles in pixels is described using the Tile X (horizontal tile size) and Tile Y (vertical tile size) parameters.

Note

When tiled rendering is enabled, the rendering time limit cannot be applied: the image rendering process completes when all the tiles have been rendered.

Usual rendering

Tiled rendering

Download the above scene (mb.zip)

Anti-Aliasing

Anti-aliasing is applied to remove the aliasing effect — the jagged and pixelated edges representing harsh transitions between adjacent colors in the image. Anti-aliasing helps smooth these transitions by applying a filter to calculate the average and adjust their colors. In many cases, this will allow you to get rid of harsh edges you can see in some renders with no anti-aliasing set.

The way the pixel color is recalculated mainly depends on the type of the anti-aliasing filter and the filter size.

Filter

The Filter parameter defines the type of an anti-aliasing filter to use, and controls how sharp or smooth the edges will be rendered.

Each filter is based on a curve (hence the filter names). The curve is applied to a subset of pixel samples limited by the filter size to calculate the weight of each sample, or a degree to which the sample should influence the pixel color.

The following filters are available:

  • Box applies the same weight to all pixel samples often producing low-quality results.

  • Triangle filter decreases the sample weight linearly based on their distance from the pixel center, and produces sharp results.

  • Gaussian filter yields blurry results. It applies a Gaussian curve to the samples according to the distance from the pixel center.

  • Mitchell is the default filter, good for all-round rendering on images, with no major high contrasts. It applies a Mitchell curve to the samples according to the distance from the pixel center. This filter yields sharper results than Gaussian.

  • Lanczos is the second good all-round filter after Mitchell. It applies a Lanczos curve to the samples according to the distance from the pixel center. This filter provides a good balance between smoothness and sharpness.

  • Blackman Harris complements the Box and Gaussian filters, and is especially effective for wireframe renders, as it makes edges look smoother. It applies a Blackman Harris curve to the samples according to the distance from the pixel center.

Note

The results of applying different filters are often subjective and depend on the image itself.

The images below illustrate a simplified model with 3 pixels, 3 samples per each. Compare how the sample weight is distributed with the two simplest filter curves – Box and Triangle.

The Box filter gives the equal weight to all samples within the search area, which means that all samples will equally influence the resulting recalculated color (the colors will be averaged). The Triangle filter assigns the highest weight value to the center sample of the pixel 2, and linearly lowers the weights based on the sample distance from the pixel center.

Filter: Box

Filter: Triangle

Filter Size

The Filter Size parameter controls the size in pixels from the center of the pixel (or the radius) of the filter area within which pixel samples will be considered for color recalculation.

The default value of 1.5 means that to calculate the color of pixel samples, AMD Radeon ProRender will take into account the pixel in question, starting from its center (0.5), as well as all samples of the neighboring pixels (1).

Filters

Download the above scene (mb.zip)