2010-08-14 4 views
6

Ich weiß, ich kann es mit GLUT tun. Aber ich habe ein großes Projekt und ich hatte Probleme, GLUT (ich benutze Delphi) dazu hinzuzufügen.Wie zeichne ich einen Text (auf den Bildschirm schreiben) mit Standard-OpenGL-Funktionen?

Also, welche anderen Optionen habe ich?

+0

Ich benutze Delphi, um OpenGL zu schreiben, also kann ich grundsätzlich keine Header-Dateien verwenden. Wenn es eine externe Bibliothek gibt, muss ich eine .dll-Datei haben, damit ich sie verwenden kann. – Mahm00d

+0

Hilft Ihnen das? http://wiki.delphligl.com/index.php/wglUseFontBitmaps – Lars

Antwort

6

Sie können es mit Standard-OpenGL-Funktionen nicht tun, es sei denn, Sie im Grunde Texturen mit Text in ihnen haben, oder eine Liste von Zeichen auf einer Textur, die Sie aus ziehen. Aber erfinden Sie das Rad nicht neu - ich würde FTGL zum Rendern von Text in einer OpenGL-Ansicht empfehlen. Es hat mehrere verschiedene Rendering-Methoden und kümmert sich um Kerning für Sie, unterstützt Unicode und hat auch gute Text-Metriken.

+0

Hat FTGL .DLL-Datei? Weil alles, was ich auf ihrer Seite sehe, Headerdateien sind. Ich benutze Delphi und muss eine DLL-Datei hinzufügen, um es verwenden zu können. – Mahm00d

+0

Es stehen sowohl DLL- als auch statische Verknüpfungen zur Verfügung. Weitere Informationen finden Sie in den Website-Dokumenten. – AshleysBrain

1

Verwenden Sie FreeType, um eine Bitmap für Ihren Text zu erhalten.

Bearbeiten: Es ist eine ausgereifte Cross-Plattform-Bibliothek, die eine vollständige Textanzeige Funktionen basierend auf Schriftarten einschließlich normaler Windows TrueType-Schriftarten bringt. Hier ist die Definition von Wikipedia:

Freetype ist eine Software-Bibliothek in C geschrieben, die eine Schriftart Rasterung Engine implementiert. Es wird verwendet, um Zeichen in Bitmaps zu rasterisieren und bietet Unterstützung für andere font-related-Operationen.

+0

Können Sie erklären, wie das funktioniert? Ich meine, ist FreeType eine Prozedur oder eine Einheit? – Mahm00d

+0

@FlomEnol, überprüfen Sie die aktualisierte Antwort. – mmonem

1

Wenn Sie tun sie entscheiden, Ihr eigenes Schriftsystem sicher sein, implementieren ein texture atlas zu verwenden, ich habe auch gesehen viele OpenGL-Demos, die eine Textur pro Glyphe verwenden, was zu grausamer Leistung führt (wegen der Gemeinkosten, die OpenGL-Treiber und Textur-Caches).

Verwandte Themen