Stop Grainy Renders with Blender’s Multiple Importance Sampling

by user

November 6, 2020

One of the most important aspects of producing a beautiful final image is noise reduction. When using Cycles to render a scene, you may still find your renders suffering from a great amount of noise and dead, burnt-out pixels or “fireflies.” Keep reading to learn more about one trick that is often overlooked—Multiple Importance Sampling.

Multiple Importance Sampling

Fireflies are a common issue, especially with Cycles; and indeed, there are multiple solutions to help reduce the noise in your renders. However, when these options have been exhausted, there is still one that is often overlooked due to its occasional instability, as well as its inconsistent activation when starting to create a new scene. This solution is to activate an algorithm known as Multiple Importance Sampling (MIS).

The Cycles engine uses path tracing to simulate light from emitter sources and anticipate how that light bounces on objects and materials located in a scene. However, not all light sources are handled the same way and sometimes Cycles can’t anticipate every light ray or its path, which leads to noise.

Multiple Importance Sampling is a process that essentially helps these light sources to better find their pathways, which can eliminate noise. Though this algorithm certainly comes at a cost in your rendering times, and it doesn’t work the same way for every element represented in a scene, MIS can undoubtedly help beautify your final image and make those fireflies vanish.

Activating Indirect Light Sampling

When inserting a light into a scene, it only uses direct light sampling at first, meaning that light rays that bounce directly to the lamp are being sampled. Right off the bat, it should be no surprise to any seasoned Blender user that small lamps are one of the largest culprits for noise—especially in Cycles.

If the rendering engine has to work harder to calculate and produce how elements are projected such as area lights and materials with glossy reflections such as glass, the results will include some level of noise.

Increasing the size of your light source definitely helps reduce fireflies and results in a cleaner image. However, by also applying MIS, you activate indirect light sampling, which helps Cycles calculate light rays that bounce indirectly to a light source. This results in the engine more accurately projecting light and further decreasing noise.

From Blender 2.8 onward, this option can be found and turned on in your light’s Object Data Properties tab under Multiple Importance, though it’s activated by default when a light is inserted into a scene.

Reducing Fireflies on Materials

Materials with emission properties can also use Multiple Importance Sampling. Like light sources, they can take advantage of using both direct and indirect light sampling, having rays bounce directly and indirectly to the material, which makes for more accurate and cleaner results. For objects with very bright emission materials, this can greatly reduce fireflies.

There are a few things to keep in mind:

  • Multiple Importance Sampling only affects materials that contain an emission node.
  • Multiple Importance Sampling for light emitters and materials with emission properties do not function the same way when the setting is activated.
  • Having multiple light sources all using MIS at the same time may not be the best decision for your scene.

For example, if an emission is not especially bright, it will take samples away from other brighter lights that may also be in the scene and lead to a noisier result. In instances like this, it’s best to switch MIS off from your material depending on which light source is more prominent and important. Experimenting with MIS and how it affects the scene will help you better grasp the ways in which it can benefit your work.

The MIS option can be found and activated in your Material Settings once your Material node tree includes an emission node.

Applying MIS to a Scene’s Environment

Multiple Importance Sampling isn’t only applicable to the objects in a scene. It can also affect the environment or world that your objects occupy. You can use HDR images in Blender to simulate environment ambience, including environment lighting, without having to set up physical light emitting objects on their own.

Unlike light emitters and material emissions, lighting from an environment map is calculated using only indirect light sampling by default. Multiple Importance Sampling isn’t automatically activated. For larger, more detailed images, this can certainly lead to noise. Multiple Importance Sampling tells Cycles to treat your HDR background image like a light source, giving it more light sampling that results in a clearer, cleaner render.

Unlike the Material and Light settings, MIS for the World Properties are not automatically enabled by default. You can locate and activate it in the Settings dropdown subsection of the World Properties tab.

Another tip is to increase the scale of the Map Resolution found underneath the Multiple Importance Sampling setting. This can help increase the sample size of the background image, further reducing the potential of noise and drastically improving the quality of your final render.

Applying MIS to a Scene’s Environment

Other Solutions for Preventing Grainy Renders in Blender

Multiple Importance Sampling is just one trick to aid in your journey to the perfect render, but there are still several other solutions to take into consideration. Blender users have recommended using Filter Glossy to blur caustics that can be found in a scene with a lot of reflective materials that would also cause noise, or turning off caustics altogether in the Render Properties tab.

The most simplistic solution is to increase the number of samples in your render, though this will slow your rendering times down. Experiment, take your time, and make your render the best it can possibly be. Happy Rendering!