finds.dev← search

// the find

evanw/glfx.js

★ 3,446 · JavaScript · MIT · updated Oct 2023

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.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →