THREE.JS / FOUNDATIONS 227

Four ways to touch a frame.

A focused WebGPU lab for post-render ownership: stateless edge filtering, in-frame supersampling, and history-based reprojection. Each mode exposes what it owns and when it runs.

Initializing filters—

Preparing a scene pass and post-render graph…

mode
—
input
—
owned targets
—
sample count
—
frame ms
—
graph build
—
Post-render controlsTSL / RenderPipeline

SMAA is applied before output color conversion; its edge, weight, and blend targets are internal.

Ownership contractSMAANode
pass outputinput

scene color

statelesstemporal

one frame

internalresources

3 render targets

dispose()lifecycle

explicit graph cleanup

SMAA owns edge, weight, and blend render targets plus area/search lookup textures.

This lab is a representative behavior study, not exact official assets or pixel parity. The forced WebGL2 lane is a direct baseline and does not claim WebGPU effect equivalence.

Derived from the official SMAA, Sobel, SSAA, and TRAA examples and their TSL display nodes.

LAB 227 / POST-RENDER FILTERS