Inheritance: EventDispatcher → Node → TempNode →
A special node that performs Temporal Anti-Aliasing Upscaling (TAAU).
Like TRAA, the node accumulates jittered samples over multiple frames and reprojects history with motion vectors. Unlike TRAA, the input buffers (beauty, depth, velocity) are expected to be rendered at a lower resolution than the renderer's drawing buffer — typically by lowering the upstream pass's resolution via PassNode#setResolutionScale — and the resolve pass reconstructs an output-resolution image using a 9-tap Blackman-Harris filter (Gaussian approximation) over the jittered input samples. The result is an alternative to FSR2/3 that does anti-aliasing and upscaling in a single pass.
References:
Note: MSAA must be disabled when TAAU is in use.
TAAUNode is an addon, and must be imported explicitly, see Installation#Addons.
import { taau } from 'three/addons/tsl/display/TAAUNode.js';
Constructs a new TAAU node.
beautyNode
The texture node that represents the input of the effect.
depthNode
A node that represents the scene's depth.
velocityNode
A node that represents the scene's velocity.
camera
The camera the scene is rendered with.
The texture node that represents the input of the effect.
The camera the scene is rendered with.
Baseline weight applied to the current frame in the resolve. Lower values produce smoother results with longer accumulation but slower convergence on disoccluded regions; the motion factor is added on top, so fast-moving pixels still respond quickly.
Default is 0.025.
A node that represents the scene's depth.
When the difference between the current and previous depth goes above this threshold, the history is considered invalid.
Default is 0.0005.
The depth difference within the 3×3 neighborhood to consider a pixel as an edge.
Default is 0.001.
This flag can be used for type testing.
Default is true.
The history becomes invalid as the pixel length of the velocity approaches this value.
Default is 128.
The updateBeforeType is set to NodeUpdateType.FRAME since the node renders its effect once per frame in updateBefore().
Default is 'frame'.
Overrides: TempNode#updateBeforeType
A node that represents the scene's velocity.
Clears the view offset from the scene's camera.
Frees internal resources. This method should be called when the effect is no longer required.
Overrides: TempNode#dispose
Returns the result of the effect as a texture node.
Returns: A texture node that represents the result of the effect.
Sets the output size of the effect (history and resolve targets). The previous-depth texture is sized independently in updateBefore() to track the scene's current depth texture.
outputWidth
The output width (drawing buffer width).
outputHeight
The output height (drawing buffer height).
Defines the TAAU's current jitter as a view offset to the scene's camera. The jitter is shrunk to one output pixel (rather than one input pixel) so that the halton sequence gradually fills the output sub-pixel grid over multiple frames.
inputWidth
The width of the input buffers the camera renders into.
inputHeight
The height of the input buffers the camera renders into.
This method is used to setup the effect's render targets and TSL code.
builder
The current node builder.
Overrides: TempNode#setup
This method is used to render the effect once per frame.
frame
The current node frame.
Overrides: TempNode#updateBefore