finds.dev← search

// the find

grovesNL/glyphon

★ 735 · Rust · updated Apr 2026

🦅🦁 Fast, simple 2D text renderer for wgpu

glyphon is a 2D text rendering crate for wgpu that wires together cosmic-text (shaping + layout), etagere (atlas packing), and wgpu (GPU rendering) into one small, coherent package. It's for Rust developers building custom renderers, game engines, or GPU-accelerated UIs on top of wgpu who don't want to roll their own text pipeline. The dependency chain is well-chosen — each piece is best-in-class for its job.

Avoids extra render passes by fitting into existing wgpu render passes via the encapsulating-graphics-work pattern — this is the right call and a lot of text renderers get this wrong. Delegates shaping to cosmic-text, which handles bidirectional text, ligatures, and complex scripts correctly — not just Latin ASCII. Triple-licensed Apache/MIT/zlib, so it fits into essentially any project. Benchmarks exist (benches/prepare.rs, benches/state.rs), which is more than most graphics crates bother with.

Tightly coupled to wgpu's API version — wgpu breaks its API on nearly every release, and upgrading glyphon means praying the wgpu version aligns with whatever else you're using. No support for SDF-based rendering, so text at varying scales will re-rasterize rather than scale gracefully; fine for fixed-size UI, painful for zoomable canvases. README is minimal to the point of being unhelpful — there's no explanation of the TextArea/Buffer model or when you'd call prepare vs render. At 735 stars it's not widely adopted enough to have a strong community or third-party examples to lean on when you get stuck.

View on GitHub →

// 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 →