EventDispatcherNodeTempNode

RecurrentDenoiseNode

Post processing node for denoising temporally-accumulated screen-space effects such as SSGI (ambient occlusion / indirect diffuse) and SSR (specular reflections).

The denoising kernel is selected at construction time via mode: 'diffuse' (SSGI) or 'specular' (SSR). The kernel uses a fixed 8-sample Vogel disk.

Import

RecurrentDenoiseNode is an addon, and must be imported explicitly, see Installation#Addons.

import { recurrentDenoise } from 'three/addons/tsl/display/RecurrentDenoiseNode.js';

Constructor

new RecurrentDenoiseNode( inputTexture : TextureNode, camera : Camera, options : RecurrentDenoiseNodeOptions )

inputTexture

Temporally filtered input to denoise (e.g. TRAA output).

camera
options

Default is {}.

Properties

.accumulate : boolean

When true, apply temporal blending after spatial denoising. When false, output spatially filtered colour only (alpha is passed through from the input temporal pass).

.alphaSource : DenoiseAlphaSource

Which channel of the raw texture drives alpha-based edge stopping. 'raylength' — alpha encodes SSR ray length; 'ao' — alpha encodes AO factor; 'none' — skip alpha-based edge stopping.

Default is 'raylength'.

.mode : DenoiseMode

Denoising kernel type.

Methods

.getRenderTarget() : RenderTarget

Returns the internal output render target (e.g. for temporal reprojection/SSGI temporal feedback loops).

Source

examples/jsm/tsl/display/RecurrentDenoiseNode.js