Freigeben über


Schriftarten und Text (OpenGL)

Die Microsoft-Implementierung von OpenGL in Windows unterstützt GDI-Grafiken in einem einzelgepufferten OpenGL-Fenster. GDI-Grafiken in einem doppelt gepufferten OpenGL-Fenster werden nicht unterstützt. Daher können Sie nur die Standard-GDI-Schriftart- und -Textfunktionen aufrufen, um Text in einem einzelgepufferten OpenGL-Fenster zu zeichnen. Sie können diese Funktionen nicht aufrufen, um Text in einem doppelt gepufferten OpenGL-Fenster zu zeichnen.

Es gibt eine Problemumgehung für diese Einschränkung für Text in doppelt gepufferten Fenstern: Erstellen Sie OpenGL-Anzeigelisten für Bitmapbilder von Zeichen, und führen Sie dann diese Anzeigelisten aus, um Zeichen zu zeichnen. In diesem Prozess gibt es drei Standard Schritte:

  1. Wählen Sie eine Schriftart für einen Gerätekontext aus, und legen Sie die Eigenschaften der Schriftart wie gewünscht fest.
  2. Erstellen Sie eine Reihe von Bitmapanzeigelisten basierend auf den Glyphen in der Schriftart des Gerätekontexts, eine Anzeigeliste für jede Glyphe, die die Anwendung zeichnet.
  3. Zeichnen Sie jede Glyphe in einer Zeichenfolge mit diesen Bitmapanzeigelisten.

Um die Anzeigelisten zu erstellen, rufen Sie die Funktionen wglUseFontBitmaps und wglUseFontOutlines auf. Um Zeichen in einer Zeichenfolge mit diesen Anzeigelisten zu zeichnen, rufen Sie glCallLists auf.

Um Anwendungen zu erstellen, die einfach zu lokalisieren sind und Ressourcen sparsam nutzen, muss die Erstellung und Speicherung dieser Glyphenbildanzeigelisten sorgfältig verwaltet werden. Im Gegensatz zu Englisch haben viele Sprachen Alphabete, deren Zeichencodes sich über einen relativ großen Satz von Werten bewegen.

Schriftart- und Textfunktionen