Wie wähle ich einen Textdarstellungsalgorithmus zwischen SDF, MSDF, Slug, Textur-Atlas oder Rive? Text sieht einfach aus, bis Sie ihn selbst zeichnen müssen. Ein Buchstabe ist eine Reihe von Konturen: geschlossene Schleifen aus geraden Linien und Bézier-Kurven, die nach einer Windungsregel gefüllt werden. Das Zeichnen auf einer CPU in eine Bitmap ist gelöst. Das Zeichnen auf einer GPU, gestochen scharf, in jeder Größe, unter jeder 3D-Transformation, während sich der Text in jedem Frame ändert, ist es nicht.
Die meisten Engines umgehen die schwierige Version, indem sie Glyphen im Voraus in Texturen backen. Im Jahr 2017 veröffentlichte Eric Lengyel Slug, das Glyphen direkt aus Konturen im Fragment-Shader rendert, ohne Textur-Atlas und ohne Tessellation pro Frame. Lengyel patentierte es im Jahr 2019 und am 17. März 2026 widmete er dieses Patent der öffentlichen Domäne. Dieser Leitfaden behandelt, wie GPU-Textdarstellung funktioniert, vom Bitmap-Atlas bis zu Slug.
Methode 1, der Textur-Atlas, rasiert jede Glyphe einmal in eine gemeinsame Textur. Es ist schnell, aber Probleme treten beim Skalieren auf: Vergrößern Sie über die gebackene Größe hinaus und die Glyphe wird unscharf. Jede Größe, die Sie scharf möchten, ist ein weiterer Atlas, und Sprachen wie Chinesisch, Japanisch und Koreanisch verursachen eine Speicherkatastrophe. Methode 2, signierte Distanzfelder (SDF), speichert die Entfernung zur nächsten Kante. Da die Entfernung glatt interpoliert, können Sie eine kleine SDF-Textur dramatisch vergrößern und eine saubere Kante erhalten. Lange Zeit war dies der Standard für scharfen UI-Text, aber ein SDF ist immer noch eine gebackene Textur.