THREE.JS / FOUNDATIONS 290

Bright things leave ghosts.

A named emissive MRT attachment feeds BloomNode, LensflareNode samples the bloom along the image center, and GaussianBlurNode softens the resulting ghosts before the RenderPipeline composite.

Initializing lensflare—

Preparing the local beacon field and WebGPU post-processing graph…

backend
—
architecture
—
output
—
beacons
—
MRT
—
frame ms
—
Lensflare controlsMRT → ghosts

Native WebGPU uses the named emissive MRT attachment; forced WebGL2 remains a direct beauty reference.

Post-processing contractBloomNode + LensflareNode
outputscene pass

beauty

emissivenamed MRT

vec4(emissive, alpha)

bloom()energy isolate

strength 1.65

lensflare()ghost samples

7 / 0.24

gaussianBlur()soften ghosts

sigma 3

ownershipexplicit cleanup

graph 0

LensflareNode receives BloomNode’s texture rather than the full beauty scene, so ghost energy remains tied to authored emissive material output.

No sample has run yet.

Source reviewed against the official WebGPU lensflare example, BloomNode, LensflareNode, and GaussianBlurNode. Use ?forceWebGL=1 to inspect the direct WebGL2 fallback.

LAB 290 / WEBGPU LENSFLARE