9 pontos por GN⁺ 2026-03-18 | 2 comentários | Compartilhar no WhatsApp
  • O algoritmo Slug, que realiza renderização de fontes baseada em curvas de Bézier na GPU, renderiza dados vetoriais diretamente sem texturas, sendo usado em diversos setores como jogos, CAD, edição de vídeo e equipamentos médicos
  • Ao renunciar à exclusividade a partir de 17/03/2026, a patente foi totalmente liberada para o domínio público, tornando-se livre para uso por qualquer pessoa
  • Nas versões recentes, o desempenho e a eficiência do código foram melhorados com otimização band split e remoção de supersampling, além da simplificação do método de renderização de emoji
  • A maior mudança é o recurso de dilatação dinâmica (dynamic dilation), que calcula automaticamente a expansão ideal das bordas de acordo com o tamanho do glifo e o ponto de vista
  • Qualquer pessoa pode implementar livremente por meio do código de shader de referência no GitHub, publicado sob licença MIT

Desenvolvimento e expansão do algoritmo Slug

  • O algoritmo Slug foi desenvolvido no outono de 2016 e apresentado em um artigo da JCGT em 2017
    • Depois disso, a Slug Library 1.0 foi comercializada e licenciada para grandes empresas como Activision, Blizzard, Ubisoft e Adobe
    • Foi usada em várias áreas, incluindo jogos, visualização científica, CAD, edição de vídeo, equipamentos médicos e planetários
  • Originalmente, foi desenvolvido para renderização de texto de alta qualidade no C4 Engine, e depois também aplicado ao editor de fórmulas Radical Pie
    • Expressa em alta resolução elementos de gráficos vetoriais como fórmulas, parênteses e setas

Evolução da forma de renderização

  • O Slug renderiza diretamente na GPU dados de curvas de Bézier sem texturas pré-calculadas
    • É robusto contra erros de ponto flutuante e mantém curvas suaves e cantos nítidos
  • A otimização band split trouxe ganho de velocidade em glifos grandes, mas foi removida por causar queda de desempenho e maior complexidade em fontes pequenas
    • Com isso, o pixel shader foi simplificado e o tamanho da textura de dados de banda foi reduzido pela metade
  • O adaptive supersampling era usado para aliviar aliasing em fontes pequenas, mas foi removido por ter efeito limitado e ser substituído pela nova técnica de dilatação
  • A renderização de emoji multicolorido foi alterada para um método que trata cada camada como um glifo independente, obtendo melhor desempenho e simplificação do código

Dilatação dinâmica (Dynamic Dilation)

  • Antes, a expansão das bordas do glifo precisava ser definida manualmente com uma distância fixa
    • Em fontes pequenas, isso causava perda de borda; em fontes grandes, desperdiçava espaço desnecessariamente
  • A dilatação dinâmica é calculada automaticamente no vertex shader, determinando a distância ideal de expansão a cada renderização de glifo
    • Usa a matriz MVP e o tamanho do viewport para expandir a borda em unidades de meio pixel
    • Dependendo da mudança de ponto de vista, é possível aplicar uma distância de dilatação diferente a cada vértice
  • Matematicamente, ela é derivada como uma equação quadrática que encontra a distância d que satisfaz a condição de expansão de meio pixel no espaço do viewport
    • A solução final tem a forma (d = \frac{s^3t \pm s^2\sqrt{u^2 + v^2}}{u^2 + v^2 - s^2t^2})
    • Escolhe-se o sinal positivo para mover na direção externa
  • Para manter o tamanho do glifo, também é feita uma correção de coordenadas em em-space, armazenando a matriz Jacobiana inversa em cada vértice

Liberação da patente e anúncio público

  • O algoritmo Slug obteve a patente dos EUA (US10373352B1) em 2019, mas renunciou ao direito de exclusividade até 2038 a partir de 17 de março de 2026
    • A parte restante da patente foi oficialmente abandonada junto ao USPTO por meio do envio do formulário SB/43 e do pagamento da taxa
  • Com isso, qualquer pessoa pode implementar e usar livremente o algoritmo Slug
    • Permitido tanto para fins comerciais quanto não comerciais, sem preocupação com violação de propriedade intelectual
  • O repositório no GitHub (https://github.com/EricLengyel/Slug) foi publicado como referência de implementação real
    • Fornecido sob licença MIT, inclui um pixel shader melhorado em relação ao artigo da JCGT e um vertex shader com dilatação dinâmica

Importância do Slug

  • O Slug se consolidou como uma implementação representativa de renderização vetorial de fontes baseada em GPU
  • Ao longo de 10 anos de evolução, melhorou simultaneamente desempenho, simplicidade e qualidade
  • Com a liberação da patente, abriu-se a possibilidade de adoção e expansão livres em toda a indústria

2 comentários

 
dalinaum 2026-03-22

Que notícia maravilhosa.

 
GN⁺ 2026-03-18
Comentários do Hacker News
  • Notícia realmente ótima. No passado, fiquei impressionado com a elegância deste algoritmo, mas era uma pena não poder usá-lo em FOSS por causa da patente
    Agora, sou muito grato por ele ter sido dedicado ao domínio público após certo tempo. Se um dia eu acabar criando um emulador de terminal, gostaria de experimentar esse algoritmo pelo apelo estético do código
    • O próprio autor explicou que obteve a patente do algoritmo Slug em 2019, mas achou que manter a exclusividade até 2038 seria tempo demais. Então, a partir de hoje, dedica permanentemente a patente do Slug ao domínio público
    • Acho que eu apoiaria patentes de software se elas fossem válidas por cerca de 8 anos
  • O projeto mais recente dele é o RadicalPie
    Um editor profissional de fórmulas para Windows 10/11, que usa o Slug como mecanismo de renderização e custa US$ 60. Provavelmente ele está usando isso para escrever o livro FGED
    • Se fosse há 25 anos, eu teria ficado muito feliz com isso. Mas hoje em dia quase não vejo ninguém fazendo esse tipo de trabalho no Windows
      Ainda assim, é uma excelente alternativa ao MathType, e o fato de ter integração OLE e funcionar bem ao inserir no Word é impressionante
  • Usei o Slug em um emprego anterior, e era uma biblioteca projetada de forma artística
    Acho que era o auge da engenharia de software. Obrigado ao autor por doá-la ao domínio público
  • Obrigado, Eric. Fico curioso sobre quais seriam as diferenças entre a abordagem dele e projetos como o Vello
  • Gosto muito de ver histórias em que alguém que criou software complexo e útil recebe a compensação justa
    Queria que houvesse mais casos assim
  • Notícia surpreendente. Obrigado, Eric
    Como referência, a patente Loop-Blinn da Microsoft (para curvas cúbicas) também deve expirar em breve, então o cenário de renderização de texto pode mudar bastante
  • Muito legal. Já me perguntei antes se o Ruffle conseguiria implementar gráficos vetoriais com aceleração por GPU de forma parecida
    Na época, ele usava um método que aproximava curvas com triângulos, mas não sei se ainda é assim
  • Excelente notícia. Considerando a velocidade do hardware atual, não há motivo para não renderizar glifos diretamente a partir de curvas Bezier
    Os antigos métodos de atlas de textura ou SDF pareciam soluções temporárias, e a qualidade caía quando a escala mudava
    Agora que o Slug foi aberto, espero que grandes bibliotecas ou engines de jogos adotem métodos de renderização de maior qualidade
  • Já trabalhei com a engine de jogos C4 do autor, e isso já faz 20 anos
    Eu não sabia que ele ainda estava tão ativo nessa área
  • Será que isso já apareceu no ShaderToy? 😄