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 outputspass.setMRT(mrtNode)one scene rendergetTextureNode(name)current attachmentgetPreviousTextureNode(name)previous attachmentvelocityper-object NDC motionrenderOutput()preview color boundaryPassNode 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.
Named MRT history initialization issue
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