THREE.JS / FOUNDATIONS 224

Read the frame behind.

A PassNode can publish several named attachments in one render. This route follows beauty, view-normal, and motion-velocity data across the current/previous frame boundary.

Initializing Preparing WebGPU

Preparing the named MRT temporal graph...

backend
-
architecture
-
attachment
-
frame lane
-
graph
-
MRT
-
target
-
frame ms
-
Attachment controlsnode graph

The beauty attachment blends the current and previous PassNode frames.

MRT contractWebGPU / TSL
mrt({ output, normal, velocity })named outputs
pass.setMRT(mrtNode)one scene render
getTextureNode(name)current attachment
getPreviousTextureNode(name)previous attachment
velocityper-object NDC motion
renderOutput()preview color boundary

PassNode swaps every requested named texture at the frame boundary; the MRT dictionary remains one scene pass.

Attachment readoutready
scene pass-
MRT dictionary-
current node-
previous node-
ownership-

PassNode owns the color/depth target and named attachment textures; RenderPipeline owns the preview output.

Derived from the official WebGPU postprocessing manual, current MRTNode, PassNode, VelocityNode, and the motion-blur example. Use ?forceWebGL=1 to inspect the explicit direct WebGL2 fallback.

THREE.JS FOUNDATIONS LAB