9 poin oleh GN⁺ 2026-03-18 | 2 komentar | Bagikan ke WhatsApp
  • Algoritma Slug, yang melakukan rendering font berbasis kurva Bézier di GPU, merender data vektor secara langsung tanpa tekstur, dan digunakan di berbagai industri seperti game, CAD, editing video, serta perangkat medis
  • Hak eksklusifnya dilepas per 2026/3/17 sehingga patennya sepenuhnya masuk domain publik, dan kini siapa pun dapat menggunakannya secara bebas
  • Pada versi terbaru, performa dan efisiensi kode ditingkatkan melalui optimalisasi band split dan penghapusan supersampling, serta penyederhanaan metode rendering emoji
  • Perubahan terbesar adalah fitur dynamic dilation, yang secara otomatis menghitung perluasan batas optimal sesuai ukuran glyph dan sudut pandang
  • Kode shader referensi GitHub yang dirilis dengan lisensi MIT memungkinkan siapa pun mengimplementasikannya dengan bebas

Pengembangan dan penyebaran algoritma Slug

  • Algoritma Slug dikembangkan pada musim gugur 2016 dan dipublikasikan melalui makalah JCGT pada 2017
    • Setelah itu, Slug Library 1.0 dikomersialisasikan dan dilisensikan ke perusahaan besar seperti Activision, Blizzard, Ubisoft, dan Adobe
    • Digunakan di berbagai bidang seperti game, visualisasi ilmiah, CAD, editing video, perangkat medis, dan planetarium
  • Awalnya dikembangkan untuk rendering teks berkualitas tinggi pada C4 Engine, lalu juga diterapkan ke editor rumus Radical Pie
    • Elemen grafis vektor seperti rumus, tanda kurung, dan panah dapat ditampilkan dalam resolusi tinggi

Evolusi metode rendering

  • Slug merender data kurva Bézier langsung di GPU tanpa tekstur yang dihitung sebelumnya
    • Tahan terhadap kesalahan floating-point, sekaligus mempertahankan kurva halus dan sudut tajam
  • Optimalisasi band split sempat meningkatkan kecepatan pada glyph besar, tetapi dihapus karena menurunkan performa pada font kecil dan menambah kompleksitas
    • Dampaknya, pixel shader menjadi lebih sederhana dan ukuran tekstur data band berkurang setengah
  • Adaptive supersampling digunakan untuk mengurangi aliasing pada font kecil, tetapi dihapus karena efeknya terbatas dan digantikan oleh teknik dilation baru
  • Rendering emoji multicolor diubah agar setiap layer diperlakukan sebagai glyph independen, sehingga performa meningkat dan kode menjadi lebih sederhana

Dynamic Dilation

  • Sebelumnya, perluasan batas glyph harus ditentukan manual dengan jarak tetap
    • Pada font kecil hal ini menyebabkan hilangnya batas, sedangkan pada font besar menyebabkan pemborosan ruang yang tidak perlu
  • Dynamic dilation dihitung otomatis di vertex shader, sehingga jarak perluasan optimal ditentukan setiap kali glyph dirender
    • Menggunakan matriks MVP dan ukuran viewport untuk memperluas batas dalam satuan setengah piksel
    • Sesuai perubahan sudut pandang, jarak dilation yang berbeda dapat diterapkan pada tiap vertex
  • Secara matematis, ini diturunkan sebagai persamaan kuadrat untuk mencari jarak d yang memenuhi syarat perluasan setengah piksel di ruang viewport
    • Solusi akhirnya berbentuk (d = \frac{s^3t \pm s^2\sqrt{u^2 + v^2}}{u^2 + v^2 - s^2t^2})
    • Tanda positif dipilih untuk bergerak ke arah luar
  • Untuk mempertahankan ukuran glyph, juga dilakukan koreksi koordinat em-space, dan matriks inverse Jacobian disimpan pada tiap vertex

Pelepasan paten dan deklarasi keterbukaan

  • Algoritma Slug memperoleh paten AS (US10373352B1) pada 2019, tetapi hak eksklusif hingga 2038 dilepas per 17 Maret 2026
    • Sisa masa paten dilepas secara resmi melalui pengajuan formulir SB/43 ke USPTO dan pembayaran biaya
  • Dengan demikian, siapa pun kini bebas mengimplementasikan dan menggunakan algoritma Slug
    • Diizinkan untuk tujuan komersial maupun nonkomersial, tanpa kekhawatiran pelanggaran hak kekayaan intelektual
  • Sebagai referensi implementasi nyata, repositori GitHub (https://github.com/EricLengyel/Slug) telah dipublikasikan
    • Disediakan dengan lisensi MIT, serta mencakup pixel shader yang ditingkatkan dibanding makalah JCGT dan vertex shader dengan dynamic dilation

Arti penting Slug

  • Slug telah memantapkan diri sebagai implementasi representatif rendering font vektor berbasis GPU
  • Melalui perkembangan selama 10 tahun, performa, kesederhanaan, dan kualitas semuanya meningkat
  • Dengan pelepasan paten, kini terbuka peluang adopsi dan pengembangan bebas di seluruh industri

2 komentar

 
dalinaum 2026-03-22

Ini kabar yang sangat luar biasa.

 
GN⁺ 2026-03-18
Komentar Hacker News
  • Ini benar-benar kabar yang luar biasa. Dulu saya sempat mengagumi keanggunan algoritma ini, tetapi sayang tidak bisa dipakai di FOSS karena paten.
    Sekarang patennya didedikasikan ke domain publik setelah jangka waktu tertentu, dan itu patut disyukuri. Kalau suatu hari saya membuat emulator terminal, saya ingin mencoba algoritma ini karena daya tarik estetik kodenya
    • Menurut penjelasan penulis sendiri, ia memperoleh paten untuk algoritma Slug pada 2019, tetapi merasa mempertahankan hak eksklusif sampai 2038 terlalu lama. Jadi mulai hari ini, paten Slug didedikasikan secara permanen ke domain publik
    • Saya rasa saya bisa mendukung paten perangkat lunak jika hanya berlaku sekitar 8 tahun
  • Proyek terbarunya adalah RadicalPie.
    Ini adalah editor persamaan profesional untuk Windows 10/11, menggunakan Slug sebagai mesin rendering, dan harganya 60 dolar. Mungkin ini juga yang ia pakai untuk menulis buku FGED
    • Kalau ini 25 tahun lalu, saya pasti akan sangat senang. Tapi sekarang rasanya hampir tidak ada orang yang melakukan pekerjaan seperti ini di Windows.
      Meski begitu, ini alternatif yang bagus untuk MathType, dan integrasi OLE yang membuatnya tersisip rapi ke Word cukup mengesankan
  • Saya pernah memakai Slug di tempat kerja lama, dan itu benar-benar pustaka yang dirancang secara artistik.
    Menurut saya itu puncak rekayasa perangkat lunak. Terima kasih kepada penulis yang telah menyumbangkannya ke domain publik
  • Terima kasih, Eric. Saya penasaran apa perbedaan pendekatannya jika dibandingkan dengan proyek seperti Vello
  • Saya sangat suka melihat kisah di mana seseorang yang membuat perangkat lunak rumit namun berguna mendapat imbalan yang layak.
    Semoga ada lebih banyak contoh seperti ini
  • Kabar yang mengejutkan. Terima kasih, Eric.
    Sebagai catatan, paten Loop-Blinn milik Microsoft (untuk kurva kubik) juga akan segera kedaluwarsa, jadi lanskap rendering teks bisa berubah cukup besar
  • Keren sekali. Dulu saya pernah bertanya-tanya apakah Ruffle bisa mengimplementasikan grafik vektor dengan akselerasi GPU secara serupa.
    Saat itu mereka memakai pendekatan yang mengaproksimasi kurva menjadi segitiga, dan saya tidak tahu apakah itu masih begitu sekarang
  • Kabar yang sangat baik. Dengan kecepatan perangkat keras saat ini, seharusnya tidak ada alasan untuk tidak merender glif langsung dari kurva Bezier.
    Metode tekstur atlas atau SDF di masa lalu terasa seperti solusi sementara, dan kualitasnya menurun ketika skala berubah.
    Dengan dibukanya Slug, saya berharap pustaka besar atau game engine mulai mengadopsi metode rendering berkualitas lebih tinggi
  • Saya pernah bekerja dengan game engine C4 milik penulis dulu, dan itu sudah 20 tahun yang lalu.
    Saya tidak tahu ia masih aktif di bidang ini sampai sekarang
  • Penasaran apakah ini sudah ada di ShaderToy 😄