While Blender is pretty well tuned by default these days not to create lots of fireflies, we still run into them, and noise is always an issue with Cycles. So how do we remove fireflies and noise in Blender?
To remove fireflies and noise in Blender:
In the rest of this article, we'll go over the multiple causes and ways we can fix fireflies. These methods will also help reduce or remove noise from our renders.
To use denoise in Blender:
Denoising is one way to quickly get rid of fire flies in our renders as well as any other noise. This is probably one of the quickest ways to get rid of fire flies and any other noise artifacts though it comes as the cost of accuracy and possibly some detail.
Note that even with denoise we should still have a fairly clean image before we denoise or else the denoise will look very splotchy and blurred.
Since the point emitting light is smaller less rays are cast from the light and as a result the lighting is much more sporadic since we don't have enough coverage from the rays to create a smooth falloff. This can be fixed by just letting the scene render longer but we can also just increase the light size.
It can also help to decrease the intensity of smaller lights as have a very small but bright light source will create a lot of sporadic but bright indirect light rays which results in those random bright pixels in our render.
In the example both render were given the same amount of time and as we can see the image on left isn't nearly as refined as the image on the right because there are less rays being cast by the smaller light.
high contrast scenes can be a big source of noise and fireflies. Bright areas in a scene next to dark areas can create a lot of bright indirect light.
Since each bit of light needs to be raycast we end up with a lot of bright points where the rays hit but usually not enough to create a smooth falloff which results in fireflies and noise.
In the example I've added a point light where the spotlight hits the wall so that there are more rays being cast from that spot as well as lowering the intensity of the spotlight so it doesn't create a bunch of fireflies since its not casting enough rays to create smooth indirect light.
To create a simple glass shader in Blender:
When we don't need refraction or it has little effect in our render besides introducing more noise we can instead just use a simple shader that imitates the look of glass.
Note that if we wanted to make it even more simple we could replace the glossy with a diffuse BSDF to make the glass shader even more simple and reduce the noise and fireflies more. In the example scene this would help reduce noise even more.
Since these are two different materials they will require a bit of tuning to get them to look exactly the same. In the example we can see the difference in lighting as well as a lower amount of noise with less fireflies.
To increase samples in Blender:
Sometimes we just need more samples to refine our image enough for the fire flies to disappear. In theory if we render enough samples we can completely resolve fire flies and noise.
Note that in more complex scenes especially ones where we have caustic materials it can take thousands of samples to remove fireflies. There are also cases where it would take a very long time to get the render to look good.
To disable caustics in Blender:
Caustics such as glass can be a big source of fire flies. scenes with caustics require a very high sample count for the caustic effects to be rendered properly.
While disabling caustics is a quick way to cut down on fireflies it can also cut out a lot of reflective light in a scene.
As you can see the image on the right is much cleaner and doesn't have any fireflies but is missing the light that comes from caustics. Another thing to note is that any lights inside of a object that has a glass shader will not be able to cast light if caustics are disabled.
To Filter Glossy in Blender:
Instead of outright disabling caustics we can instead filter glossy which will blur out the caustic lighting making the sharp bits of brightness in the image like fireflies much less common.
In the example you can see how this reduces the fireflies at the cost of detail in the refractive light.
To clamp the lighting in Blender:
clamping can be used to remove these very bright pixels by just clamping the max value to something lower. This will cost some accuracy as well as darkening the image but can be a good way to cut down on fireflies and noise.
This example is a bit extreme but as you can see the render on the right is much darker but the gradient from light to dark is much less noisy. Note that in this scene pretty much all the light is getting clamped since its refracting through the glass. In practice its not likely to darken the scene this much.
It is recommended to avoid clamping direct light as it will make highlights less bright and most fireflies are going to be from indirect light.
To switch the render engine to eevee in Blender:
Depending on the scene eevee may just be a better option as we don't have to deal with noise. Try switching to the eevee render engine and see how it effects the quality of your renders.
There are a lot of little tricks that go into designing a scene to work with eevee and some just aren't feasible to render in eevee but the results will be much cleaner if we decide to use it. Though for example the glass Suzanne example wouldn't really be worth trying to recreate in eevee.
There are a lot of tricks we can use to get rid of fireflies and noise in Blender. With the examples shown in this article we have some general purpose tips for removing fireflies. We've also gone over glossy materials as well as glass as these are some of the most common sources of noise and fireflies.
thank you for your time.