A single-file WGSL path tracer — plain WebGPU, no three.js, no libraries — sharing
one GPUDevice with the denoiser. The scene accumulates noisy
samples into a linear-HDR texture; flip Live denoise to hand that texture straight
to denoiser.denoiseTextures() every N samples. This page is the reference for
integrating the denoiser with a custom engine.
off = raw accumulation · on = denoised output
first-hit G-buffer from the same kernel