How do I choose a text rendering algorithm between SDF, MSDF, Slug, Texture Atlas or Rive? Text looks simple until you have to draw it yourself. A letter is a set of outlines: closed loops of straight lines and Bezier curves, filled according to a winding rule. Drawing that on a CPU into a bitmap is solved. Drawing it on a GPU, crisply, at any size, under any 3D transform, while text changes every frame, is not.
Most engines dodge the hard version by baking glyphs into textures ahead of time. In 2017 Eric Lengyel published Slug, which renders glyphs directly from outlines in the fragment shader, with no texture atlas and no per-frame tessellation. Lengyel patented it in 2019, and on March 17, 2026 he dedicated that patent to the public domain. This tour covers how GPU text rendering works, from the bitmap atlas up to Slug.
Method 1, the texture atlas, rasterizes each glyph once into a shared texture. It is fast but problems show up when scaling: enlarge past the baked size and the glyph turns blurry. Every size you want crisp is another atlas, and languages like Chinese, Japanese, and Korean cause memory disaster. Method 2, signed distance fields (SDF), stores distance to the nearest edge. Because distance interpolates smoothly, you can scale a small SDF texture up dramatically and get a clean edge. For a long time this was the default for crisp UI text, but an SDF is still a baked texture.