mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-25 10:37:11 -06:00
Gaussian blur (three box passes each way, running sums per 16-pixel chunk), the separable resample with the CPU's exact taps (uploaded tables), the guided filter and the fast guided filter (coefficients on the subsampled grid), log luminance, dark channel + airlight (percentile of every 7th value read back), white balance and luminance/colour noise reduction now run as WGSL kernels. A render records everything into one command encoder and reads back only the output (and the airlight samples); defringe and spot removal still run on the CPU when used. Equivalence unchanged: max 1 LSB, mean < 0.001 LSB over all test cases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>