Fireflies - Boat Scene

By
-
Login to Follow
-
Industry
  • Film & VFX
  • Games
  • Design Visualization
Subject
  • Rendering
  • Shading
Products
  • Arnold
  • 3ds Max
Skill Level
  • Beginner
Duration
30 min


Fireflies caused by the sun from the Physical Sky

This scene consists of a boat model on a plane that represents the sea. Both models have Standard Surface shaders assigned to them. As you can see in the image above, there are many 'fireflies' in this scene. In this situation, they are caused by the bright sun disc from the Physical Sky shader that is connected to a SkyDome light. This kind of noise is difficult to remove by simply increasing the number of samples in the Render Settings. However, there are several ways to overcome this type of noise. We will work through some of these methods below.


AOVs

One way to identify where the fireflies are coming from is to render the scene using AOVs.

  • Open the Render Setup window and select the AOV Settings tab. Add an output file such as EXR.
  • Select direct_specular, indirect_specular and reflection. These new AOVs should appear under Active AOVs.
  • Render the scene and open the AOVs or render them in the Render View window (select the AOV from the Render View AOVdropdown list above the AOV Browser.

Choose the AOVs you wish to identify

We can instantly tell that they are coming from two places:

  1. The boat's shader, which has some specularity.
  2. The sea's shader which also has some specularity.

When rendering out these AOVs the fireflies are clearly visible:

Clamp Max Value 10 (default value) Indirect Specular AOV (fireflies visible on boat)


Specular Roughness

In some situations, increasing the Specular Roughness may help to reduce fireflies as it is effectively creating a larger, softer specular hi-light. Increasing the Specular Roughness of the Standard Surface shader that is assigned to the boat reduces the number of fireflies. However, in this instance, there are still some fireflies evident when using this method.


Low Specular Roughness value Specular Roughness: 1. Fireflies have been reduced but are still evident.


Glossy Samples

Due to the almost mirror like surface of the sea shader we are getting extremely high Specular values reflected from the sun onto the Specular sea surface. These high Specular values are very difficult to sample and therefore, in this situation, increasing the number of Specular Samples does not help to eliminate the fireflies.

Rayswitch

A better method is to assign a simpler shader for Specular and diffuse rays using a rayswitch shader.

  • Assign a RaySwitch shader to the boat.
  • Connect a Standard Surface shader to the Diffuse and Specular rays of the RaySwitch shader. Make sure that the Specular Weight is set to 0. This will force specular and diffuse rays to not evaluate the specular component of the shader, which is the source of the firelies.
  • Connect the boat's Standard Surface shader (with Specular Weight) to the remaining attributes (camera, specular reflection, transmission and shadow).

When we look at the AOVs we can see that the fireflies are not visible:

Indirect Specular AOV Rayswitch Beauty (no fireflies)


Two Standard shaders connected to Rayswitch shader

Clamp Sample Values

Another option is to clamp the output value of the pixels in the scene. This control will clamp pixel samples to the specified maximum value for all shaders in the scene.

The images below show the effect clamping has on the fireflies. A value of 1 eliminates the fireflies completely, however it also removes any dynamic range from the render.

Clamp Max Value 5 Clamp Max Value 1 (fireflies have gone)



Posted By
Tags
  • Arnold
  • 3ds Max
  • Rendering
  • Shading
0 Comments
To post a comment please login or register