Ich mach es so:
http://zfx.info/viewtopic.php?f=11&t=3557
Warum die Lösung besser ist:
- du kannst zur Laufzeit die Textgröße bestimmen
- du kannst zur Laufzeit die Schriftart bestimmen
- du kannst zur Laufzeit bestimmen, welche Zeichen (genauer gesagt: Glyphen) du brauchst und sparst damit Speicher
- die Glyphen sind viel effizienter in der Textur gespeichert
- du hast Proportionale und nicht nur Mono-Space Schriftarten
- du hast Kerning (d.h.
Unterschneidung)
- du benötigst keine externen Tools um Font-Dateien zu erstellen
Was daran ok ist:
- Es ist zum reinen Rendern sehr schnell, ich wüsste derzeit nicht, wie man es wesentlich effizienter machen kann. Aber das andere verlinkte Tutorial sieht auch gut aus und in einem klassischen Spiel hat man nur eine handvoll Texteinblendungen. Und es ist schwierig, so viel Text auf einem Bildschirm unter zu bringen, dass du selbst eine sehr schlechte und langsame Implementierung irgendwie bemerken würdest. Geschwindigkeit ist also ziemlich egal
Was nicht so gut ist:
- Du benötigst eine externe Bibliothek, nämlich Freetype. Aber Freetype hat keine weiteren Abhängigkeiten und lässt sich kinderleicht kompilieren.
- Du benötigst eine zweite externe Bibliothek, Freetype-Gl. Aber du kannst Problemlos die ~5 benötigten Dateien rüberkopieren und in dein Projekt einbinden und musst (und solltest) es nicht als extra Projekt kompilieren. Der Aufwand ist also minimal.
Insgesamt ist es immernoch eine Lösung, die du sehr schnell einbinden kannst und die dir echt viele Freiheiten lässt.