Home Creators Posts Import Register Favorites Logout

Content

Arnold offers a large number of what might seem to be complicated and confusing sampling settings. We all want to achieve the cleanest renders in the shortest possible time, so let's examine what makes Arnold tick and how to optimize it!

With Arnold we can either manage all sampling parameters individually or hand control over to the renderer via adaptive sampling. Let's first look at what goes into a fully manual workflow. For demonstration purposes I created a very simple scene in Gaffer: a sphere, a plane and an environment light. Everything we cover here will apply to Arnold in any DCC. Note that the images here will be super zoomed-in so we can clearly see what's happening on the pixel level.

The main sampling parameter in Arnold is AA (anti-aliasing). It serves several purposes: smoothing sharp edges, reducing noise in motion blur and depth of field (DoF), and cleaning up the entire scene via brute force sampling.

We can see the effect of AA samples by viewing an albedo AOV. With AA set to 1, the edges of the sphere are a bit jagged. 

(Going below 1, to -4, gives us an 8-bit effect which is kind of fun.)

Setting AA at 3 cleans up the edges, so we don't need to go higher than that. There is no motion blur or DoF here to consider.

Going back to our beauty render, we can see that even with 3 AA the scene is still very noisy. 

This is because the diffuse and specular components require more sampling to clean up. Add diffuse and specular AOVs so we can inspect the results, then tweak parameter values until the noise level is where we want it. Here's AA 3, diffuse 10 and specular 4:

This approach can work fine, but there are a couple of issues, one of which is animation. Unless you manage to get every single element of your scene matching exactly in terms of noise level from frame to frame then you're going to get noticeable fixed areas of noise. Your mostly specular objects will stand out as one noise level, diffuse another, etc. 

Here's an extreme example where I put a subsurface scattering material on the sphere, set the diffuse samples to 10, specular to 3 and kept SSS at 1. The noise in the animation is much higher on the sphere and stands out in a bad way.

In addition, every scene, no matter how simple or complex, will have sections of the image that contain more noise and require more samples than others. Let's say we wanted to clean up some shadow areas in a difficult interior scene. Using only AA samples we would have to vastly oversample less demanding areas of the image just to address the few noisy spots. Even by micromanaging the sampling of individual rays we won't be able to solve for this variability across the entire image.

Adaptive sampling to the rescue! The core of adaptive sampling is brute force AA samples. Arnold will keep sampling until it reaches the noise threshold or the maximum AA samples that we give it. In this way we have a much better chance of matching noise across the entire image with no extra work on our end.

My go-to settings are max AA samples around 15 and noise threshold of around 0.02. This tends to give good results in most stills and animations and takes into account various types of materials, lighting, motion blur and DoF. Keep in mind that you can still use the diffuse/specular/et al. parameters as multipliers. For example, setting diffuse to 2 while using adaptive sampling will further clean up diffuse elements in the scene. This may throw off the balance of noise in animations, so make sure to check the results before committing. Here's the same SSS sphere animation now. Looking perfect!

When using adaptive sampling your noise level/render time is almost entirely controlled by setting the noise threshold. Want a faster, draft render? Change the threshold to 0.05 or so. Need ultra clean at the expense of speed? 0.015 will do the job.

If we compare standard and adaptive sampling and try to match a noisy portion of the image, standard sampling will generally be slower. Compare 38 seconds (top) versus 28 seconds for the adaptive sampled version (bottom). That's a 25% reduced render time and much less setup time.

Adaptive sampling is the fastest, most painless way to render in Arnold. Note that these principles apply to most other renderers as well, although the parameters and terminology will be different. Adaptive sampling in general is a great solution and should be strongly considered as the best approach in all types of scenes.

Files

Comments

No comments found for this post.