Freetype GL – AC OpenGL Freetype-Engine
Eine kleine Bibliothek zum Anzeigen von Unicode in OpenGL unter Verwendung einer einzelnen Textur und eines einzelnen Vertexpuffers.
Installationsanleitung
Code-Organisation
Obligatorische Dateien
Texture-Font : Die Texture-Font-Struktur ist für die Erstellung von Bitmap-Glyphen und deren Hochladen in den Texturatlas verantwortlich.
Texturatlas : Diese Struktur ist für das Packen kleiner Regionen in eine größere Textur verantwortlich. Es basiert auf dem Skyline-Algorithmus unten links, der sich offenbar gut zum Speichern von Glyphen eignet.
vector : Diese Struktur ahmt lose die Klasse std::vector aus C++ nach. Es wird von Texture-Atlas (zum Speichern von Knoten), Texture-Font (zum Speichern von Glyphen) und Font-Manager (zum Speichern von Schriftarten) verwendet. Weitere Informationen unter: http://www.cppreference.com/wiki/container/vector/start
Optionale Dateien
Markup : Einfache Struktur, die Texteigenschaften beschreibt (Schriftfamilie, Schriftgröße, Farben, Unterstreichung usw.)
Font-Manager : Struktur, die für das Zwischenspeichern von Schriftarten zuständig ist.
Vertex-Puffer : Generische Vertex-Pufferstruktur, inspiriert von Pyglet (Python). (weitere Informationen unter http://www.pyglet.org)
edtaa3func : Distanzfeldberechnung von Stefan Gustavson (weitere Informationen unter http://contourtextures.wikidot.com/)
makefont : Ermöglicht das Generieren einer Header-Datei mit Schriftartinformationen (Textur + Glyphen), sodass sie ohne Freetype verwendet werden kann.
Mitwirkende
- Ryan.H.Kawicki (Ursprüngliches CMake-Projekt)
- Julian Mayer (Mehrere Bugfixes und Code für demo-opengl-4.cc)
- Sylvain Duclos (Android-Port)
- Wang Yongcong (Verbesserungen beim Windows-Build und bei der Codeüberprüfung)
- Jonas Wielicki (Fehlerbericht & Fehlerbehebung im CMakefile)
- whatmannerofburgeristhis (Fehlerbericht in makefont)
- Andrei Petrovici (Feinanalyse des gesamten Codes und Bericht über potenzielle Probleme)
- Cristi Caloghera (Bericht über schlechte Vertex-Puffer-Nutzung)
- Andrei Petrovici (Kodexüberprüfung)
- Kim Jacobsen (Fehlerbericht und Fehlerbehebung)
- bsoddd (Fehlerbericht und Fehlerbehebung)
- Greg Douglas (Fehlerbericht und Fehlerbehebung)
- Jim Teeuwen (Fehlerbericht und Fehlerbehebung)
- Quarnster (Fehlerbericht und Fehlerbehebung)
- Per Inge Mathisen (Fehlerbericht und Fehlerbehebung)
- Wojciech Mamrak (Codeüberprüfung, Fehlerbericht und Fehlerbehebung)
- Wael Eloraiby (Code an die C89-Norm anpassen und CMakefile korrigieren)
- Christian Forfang (Codeüberprüfung, Fix & Patch für 3.2-Kernprofil)
- Lukas Murmann (Code-Review & Fix für 3.2 Core-Profil)
- Jérémie Roy (Codeüberprüfung, Fehlerbehebung und neue Ideen)
- dsewtz (Fehlerbericht und Fehlerbehebung)
- jcgamestoy (Fehlerbericht und Fehlerbehebung)
- Behdad Esfahbod (Fehlerbehebung in der Harfbuzz-Demo)
- Marcel Metz (Fehlerbericht und -behebung, CMmake-Option ohne Demo, Makefont-Parameter)
- PJ O'Halloran (SVN-zu-Git-Migration)
- William Light (Gesichterstellung aus dem Gedächtnis)
- Jan Niklas Hasse (Fehlerbericht & Fix + README.md)
- Pierre-Emmanuel Lallemant (Fehlerbericht und -behebung + Travis-Setup)
- Robert Conde (Fehlerbericht und Fehlerbehebung)
- Mikołaj Siedlarek (Fehlerbehebung im Build-System)
- Preet Desai (Fehlerbericht und Fehlerbehebung)
- Andy Staton (CMake-Korrektur und hinzugefügter Namespace-Schutz (Vermeidung von GLM-Kollisionen))
- Daniel Burke (GLEW-Abhängigkeit entfernt und Probleme mit Schriftartenlizenzen behoben)
- Bob Kocisko (Horizontale Textausrichtung und Berechnung der Textgrenzen hinzugefügt)
- Ciro Santilli (Markdown-Dokumentation verbessern)