THREE.JS / FOUNDATIONS / RADIAL BLUR
Pull light from the center.
This study isolates the installed TSL radialBlur() contract: the scene pass feeds center-directed samples, while the direct WebGL2 lane stays explicitly outside the native node graph.
InitializingPreparing WebGPU
Preparing the radial blur graph…
- backend
- -
- graph
- -
- output
- -
- target
- -
- resolution
- -
- center
- -
- sample
- WAITING
- resources
- -
Radial blur controlsnode graph
radialBlur() samples the scene color toward the selected center.
Run a bounded sample after selecting an output; the sample reports average and p95 frame time.
Source contractWebGPU / TSL
pass(scene, camera)scene texturerenderOutput(color)sRGB boundaryradialBlur(output)center-directed samplesLoop(count)bounded iterationsetResolutionScale()target ownershipThe native route keeps sample count, decay, weight, exposure, and center as explicit uniforms.
Node readoutready
scene pass-
radial node-
color transform-
graph ownership-
RenderPipeline owns the final graph; radialBlur owns the repeated center-directed samples.
Radial blur initialization issue
Derived from the official WebGPU radial-blur example and the installed radialBlur(), PassNode, and RenderPipeline contracts. Use ?forceWebGL=1 to inspect the explicit direct WebGL2 fallback.
THREE.JS FOUNDATIONS LAB