// the find
evanw/glfx.js
An image effects library for JavaScript using WebGL
glfx.js is a WebGL-based image filter library from 2012 that runs GPU-accelerated effects (blur, warp, color adjust, halftone, etc.) directly in the browser. It's for anyone who needs real-time photo manipulation without a server round-trip. The author is Evan Wallace, who also built Figma's rendering engine, so the shader work is genuinely good.
The shader implementations are clean and well-chosen — tilt-shift, lens blur, perspective warp, and curves are the filters people actually want, not just a grab-bag. GPU-side processing means even complex effects run fast on reasonable hardware. The API is a simple fluent chain: canvas.draw(texture).hueSaturation(-0.5, 0).update() — hard to misuse. Evan Wallace knows his way around a fragment shader, and it shows in filters like lensblur that most libraries get wrong.
Effectively abandoned — last real activity was years ago and the last push in 2023 was almost certainly a CI or metadata touch, not a code change. No npm package, no ES module build, no TypeScript types; you get a concatenated JS file assembled by a Python build script. The same-origin restriction on images is a genuine integration headache that hasn't been addressed. WebGL 1.0 only, no WebGL2 path, so you're stuck with OES_texture_float_linear polyfills and older texture formats.