HeadlinesBriefing favicon HeadlinesBriefing.com

SDF vs MSDF vs Slug: Guia de renderização de texto em GPU

Hacker News •
×

Como escolho um algoritmo de renderização de texto entre SDF, MSDF, Slug, atlas de texturas ou Rive? O texto parece simples até você ter que desenhá-lo você mesmo. Uma letra é um conjunto de contornos: loops fechados de linhas retas e curvas de Bézier, preenchidos de acordo com uma regra de enrolamento. Desenhar isso em uma CPU em um bitmap é resolvido. Desenhá-lo em uma GPU, nitidamente, em qualquer tamanho, sob qualquer transformação 3D, enquanto o texto muda a cada quadro, não é.

A maioria dos mecanismos evita a versão difícil assando glifos em texturas com antecedência. Em 2017, Eric Lengyel publicou Slug, que renderiza glifos diretamente dos contornos no shader de fragmentos, sem atlas de texturas e sem tesselação por quadro. Lengyel patenteou em 2019, e em 17 de março de 2026, ele dedicou essa patente ao domínio público. Este guia cobre como a renderização de texto em GPU funciona, do atlas de bitmap ao Slug.

O método 1, o atlas de texturas, rasteriza cada glifo uma vez em uma textura compartilhada. É rápido, mas os problemas aparecem ao dimensionar: amplie além do tamanho assado e o glifo fica borrado. Cada tamanho que você deseja nítido é outro atlas, e idiomas como chinês, japonês e coreano causam um desastre de memória. O método 2, campos de distância com sinal (SDF), armazena a distância até a borda mais próxima. Como a distância interpola suavemente, você pode ampliar dramaticamente uma pequena textura SDF e obter uma borda limpa. Por muito tempo, este foi o padrão para texto de interface nítido, mas um SDF ainda é uma textura assada.