Partager via


Polices et texte (OpenGL)

L’implémentation d’OpenGL par Microsoft dans Windows prend en charge les graphiques GDI dans une fenêtre OpenGL à mise en mémoire tampon unique. Il ne prend pas en charge les graphiques GDI dans une fenêtre OpenGL à double mise en mémoire tampon. Ainsi, vous pouvez appeler uniquement les fonctions de police et de texte GDI standard pour dessiner du texte dans une fenêtre OpenGL à mise en mémoire tampon unique ; vous ne pouvez pas appeler ces fonctions pour dessiner du texte dans une fenêtre OpenGL à double mise en mémoire tampon.

Il existe une solution de contournement pour cette restriction sur le texte dans les fenêtres à double mise en mémoire tampon : 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 main :

  1. Sélectionnez une police pour un contexte d’appareil, en définissant les propriétés de la police comme vous le souhaitez.
  2. Créez un ensemble de listes d’affichage bitmap en fonction des glyphes dans la police du contexte de l’appareil, 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 qui utilisent des ressources avec parcimonie, la création et le stockage de ces listes d’affichage d’images de glyphes doivent être gérés avec soin. De nombreuses langues, contrairement à l’anglais, ont des alphabets dont les codes de caractères s’étendent sur un ensemble relativement important de valeurs.

Fonctions police et texte