Polices et texte (OpenGL)

l’implémentation de OpenGL par Microsoft dans Windows prend en charge les graphiques GDI dans une fenêtre OpenGL à mémoire tampon unique. Elle ne prend pas en charge les graphiques GDI dans une fenêtre OpenGL à double mémoire tampon. Par conséquent, vous pouvez appeler uniquement les fonctions de texte et de police GDI standard pour dessiner du texte dans une fenêtre OpenGL à une seule mise en mémoire tampon ; vous ne pouvez pas appeler ces fonctions pour dessiner du texte dans une fenêtre OpenGL à deux mémoires tampons.

Il existe une solution de contournement pour cette restriction sur du texte dans les fenêtres à deux mémoires tampons : créez des listes d’affichage OpenGL pour les images bitmap de caractères, puis exécutez ces listes d’affichage pour dessiner des caractères. Ce processus comporte trois étapes principales :

  1. Sélectionnez une police pour un contexte de périphérique, en définissant les propriétés de la police comme vous le souhaitez.
  2. Créer un ensemble de listes d’affichage bitmap en fonction des glyphes dans la police du contexte de périphérique, une liste d’affichage pour chaque glyphe que l’application dessinera.
  3. Dessinez chaque glyphe dans une chaîne, à l’aide de ces listes d’affichage bitmap.

Pour créer les listes d’affichage, appelez les fonctions wglUseFontBitmaps et wglUseFontOutlines . Pour dessiner des caractères dans une chaîne à l’aide de ces listes d’affichage, appelez glCallLists.

Pour créer des applications faciles à localiser et utilisant des ressources avec parcimonie, la création et le stockage de ces listes d’affichage d’image de glyphe doivent être gérés avec précaution. De nombreux langages, contrairement à l’anglais, possèdent des alphabets dont les codes de caractères sont compris dans un ensemble de valeurs relativement volumineux.

Fonctions de police et de texte