How many passes is enough?



What happens during one render pass?


Each pass performs one antialiasing sample per pixel and a variable amount of secondary samples set by the GI vs. AA balance parameter.


This means that when using the default settings, during one pass, each pixel receives:

-1 antialiasing sample

-16 GI samples (GI vs. AA balance = 16)

-16*2=32 direct light samples (Light Samples Multiplier = 2)


This also means that when using the same render settings, each pass should take exactly the same amount of time to render. This time is adequate to the complexity of rendered scene, amount of samples contributing to the rendering, and total amount of pixels (image resolution). Rendering complex scenes will increase rendering time. Increasing the number of samples will increase time required to perform one pass but will also increase image's quality per each single pass. 


...so how many passes is enough?

The number of passes required for final rendering is highly dependent on the kind of scene that is being rendered so there is no "universal number" that should be reached. Total number of passes in Corona corresponds to the amount of antialiasing samples cast per each pixel, so usually to render detailed objects or textures, a minimum of 32-64 passes is required. In some cases, like complex GI or pronounced DoF, much more passes may be required (even 500 or more). The ratios between number of passes, image quality and rendering time are also dependent on such settings as GI vs. AA balanceLight Samples Multiplier (3ds Max | C4D), Light Samples Multiplier (3ds Max | C4D), Max Sample Intensity (3ds Max | C4D), or Max Sample Intensity (3ds Max | C4D) 


Generally:

  • More passes = better image quality (both antialiasing, GI and light sampling). This is always true.
  • Higher sampling settings = more time required to perform each pass, better per-pass GI/light sampling quality - useful for scenes with complex lighting that don't require much antialiasing
  • Lower sampling settings = less time required to perform each pass, worse per-pass GI/light sampling quality - useful for scenes that require more antialiasing (DoF, motion blur, detailed geometry, fine textures), without complex lighting


See:

What are the best render settings?

Where are supersampling / antialiasing controls in Corona?



Adaptivity


Starting from Corona Renderer version 1.4, adaptivity is used in the rendering process, and it is enabled by default (there is no reason to ever disable it). Adaptivity slightly changes the way each subsequent pass affects image quality, since the number of samples per pass is now dynamically adjusted to balance the noise level across the whole image. Generally, we can still assume that a fixed amount of samples is cast per each pass, to understand how the process works, but in reality it will slightly vary.


To learn more about adaptivity and how it affects image quality, see: what is adaptivity?



Examples


1. GI samples


1.1. Image rendered at default settings. 4 passes. There is much GI noise and geometry edges are not smooth.

Per pixel:

1AA sample per pass * 4 passes = 4 AA samples total

16 GI samples per pass * 4 passes = 64 GI samples total

2 * 16 direct light samples * 4 passes = 128 direct light samples total



1.2. Image rendered at default settings. 16 passes. There is less GI noise and geometry edges look better, but the image is still low-quality.

Per pixel:

1AA sample per pass * 16 passes = 16 AA samples total

16 GI samples per pass * 16 passes =  256 GI samples total

2 * 16 direct light samples * 16 passes = 512 direct light samples total



1.3. Image rendered at default settings. 32 passes. There is less GI noise and geometry edges look good. This means that no further antialiasing is required for this scene (no more passes) but GI needs more samples to refine. 

Per pixel:

1AA sample per pass * 32 passes = 32 AA samples total

16 GI samples per pass * 32 passes = 512 GI samples total

2 * 16 direct light samples * 32 passes = 1024 direct light samples total



1.4. More GI samples may be added by increasing the number of passes. Image rendered at default settings. 200 passes. There is even less GI noise, but some more GI samples are still required.

Per pixel:

1AA sample per pass * 200 passes = 200 AA samples total

16 GI samples per pass * 200 passes = 3200 GI samples total

2 * 16 direct light samples * 200 passes = 6400 direct light samples total



1.5. Let's leave the number of passes at 200 and increase "GI vs AA balance" to 32. Now the image looks good both in terms of noise and antialiasing, but according to example 3., even 32 passes are enough for good antialiasing in this scene.

Per pixel:

1AA sample per pass * 200 passes = 200 AA samples total

32 GI samples per pass * 200 passes = 6400 GI samples total

2 * 32 direct light samples * 200 passes = 12800 direct light samples total



1.6. So let's try to render this scene with only 32 passes and 200 GI samples (swap passes number and "gi vs aa" value). The image looks virtually the same as the previous one in terms of quality because both 200 and 32 AA samples are enough to produce smooth edges and the same total amount of GI and light samples was used in both cases.

Per pixel:

1AA sample per pass * 32 passes = 32 AA samples total

200 GI samples per pass * 32 passes = 6400 GI samples total

2 * 200 direct light samples * 32 passes = 12800 direct light samples total




2. GI Solvers


2.1. Comparison between a scene rendered with the same settings, using Path Tracing + UHD cache, and Path Tracing as both solvers:
PT + UHD
default settings
200 passes


PT+PT
default settings
200 passes


Conclusion: using UHD cache as secondary GI solver significantly reduces number of required passes, thus reducing render time.



3. MSI


3.1. Default settings, MSI = 20 (default value)


3.2. Default settings, MSI = 10


3.3. Default settings, MSI = 5


3.4. Default settings, MSI = 0,5


3.5. Default settings, MSI = 0,05


Conclusion: lowering MSI value reduces noise in GI thus reducing the number of required passes at the cost of realism. It does not affect the noise visible in directly lit areas.




4. DoF & motion blur


4.1. Scene with strong DoF effect. 4 passes.


4.2. Scene with strong DoF effect. 16 passes.


4.3. Scene with strong DoF effect. 64 passes.


4.4. Scene with strong DoF effect. 500 passes.


Conclusion: number of passes (AA samples) decides about the quality of depth of field. This also applies to motion blur.




5. Fine geometry


5.1. Hair and fur modifier. 4 passes.


5.2. Hair and fur modifier. 16 passes.


5.3. Hair and fur modifier. 32 passes.


5.4. Hair and fur modifier. 200 passes.


Conclusion: number of passes (AA samples) decides about the quality of fine geometry, especially where dark and bright edges meet.




6. Fine textures


6.1. Textured objects. 4 passes.


6.2. Textured objects. 16 passes.


6.3. Textured objects. 64 passes.



Conclusion: number of passes (AA samples) decides about the quality of textured materials, especially if the texture is very fine.