Skip to content

Blender Smooth Temporal Denoising Solution

This temporal denoising solution allows for the best balance between denoising quality and temporal cohesion allowing for a cohesive animation to be rendered in high-noise environments with minimal samples. The settings shown below are not reflective of the most optimal settings for this scene or any specific scene.

Blender Render Settings:

  • Noise Threshold: 0.04
  • Max Samples: 512

Undenoised Images:

Notice The extreme noise between frames.

Denoised With Intel’s OpenImageDenoiser

Notice that the noise is greatly reduced but it lacks temporal cohesion and has flickering issues

Denoised With Super Image Denoiser’s Temporal Denoising Solution

Old Github: https://github.com/PidgeonTools/SuperImageDenoiser

Latest Version: https://pidgeontools.gumroad.com/l/PidgeonToolBag

Notice that this temporal solution addresses the flickering and temporal cohesion issues but does not reduce noise as well as Intel’s OpenImageDenoiser. Also the nature of this temporal denoising solution causes the first frame to have a lot more noise than the rest.

My Combined Solution

This solution addresses all problems and allows for strong denoising with temporal coherence using a minimum number of samples. Requires minimal node setup.

Animation Test:

2 thoughts on “Blender Smooth Temporal Denoising Solution”

  1. Hi Victor,
    I happened upon your site by googling just about a solution for temporal denoiser, and I must say that the result you got above here is by far the best thing I’ve seen around! It is definitely impressive!
    Would there be any chance that you could explain HOW you managed to get such a result? (Because apparently, it’s really impossible for anyone else:D)

    1. Sorry for the late response, try chaining together Intel’s OpenImageDenoiser with Super Image Denoiser’s temporal denoising solution in the compositor node setup.

      Blender has a built in denoising node, first apply that to the image (to get denoised frames), you will need to enable denoising data in the render layers and connect the denoising normal and denoising albedo to the denoise node, and then take the output image from that and put it into super image denoiser (to get temporally consistent frames). They should work together to form a denoised and temporally smooth result.

      You can put your other compositor nodes for glare, lens distortion, etc after the super image denoiser node if you want.

Leave a Reply

Your email address will not be published. Required fields are marked *