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 :
- 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.
- 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.
- 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.