Voici un programme qui permet de charger et afficher du texte sous OpenGL utilisant SDL_ttf.
J'ai mis un petit programme qui affiche le texte et utilise la position de la souris pour déplacer le texte...
Jc
Voici un programme qui permet de charger et afficher du texte sous OpenGL utilisant SDL_ttf.
J'ai mis un petit programme qui affiche le texte et utilise la position de la souris pour déplacer le texte...
Jc
Je rajoute à ce fil une troisième source que je trouve importante.
Premièrement, une version de CTexte (la source du premier post de ce fil) qui n'utilise pas OpenGL mais qui fait les mêmes choses.
Par contre, j'ai ajouté deux fonctions à la classe, une fonction qui ajoute une lettre et une qui en enlève une.
Cela permet de faire une saisie au clavier par exemple
Utilisant l'unicode, ce code semble fonctionner sur un clavier Qwerty, Azerty sous Windows et sous linux
[EDIT]à Frank.h d'avoir testé sous linux avec un clavier Azerty
[/EDIT]
Jc
Remarque : pour utiliser cette source, vous devez chercher un fichier ttf de votre choix. J'ai voulu gardé ma source libreet sans remerciements
![]()
Y a pas mal de sources en attente, faudrait que je fasse une mise à jour un de ces 4...![]()
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
On peut également rendre le fond du text transparent sans activer le alpha blending.
Pour cela il faut rajouter dans le fichier Ctexte.cpp du dossier texture la partie en rouge:
Et bien sur enlever "glEnable(GL_BLEND)".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13SDL_BlitSurface(temp, NULL, temp2, NULL); SDL_SetColorKey(temp2, SDL_SRCCOLORKEY, SDL_MapRGB(temp2->format, 0, 0, 0)); SDL_Surface *temp3 = SDL_DisplayFormatAlpha(temp2); // Jonction entre OpenGL et SDL. glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, temp3->w, temp3->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, temp3->pixels); SDL_FreeSurface(temp3);
J'ai opté pour cette solution, car le alpha-blending rendait également le corps de text semi-transparent, effet que je ne voulais pas.
Tu peux me faire une version compléte avec tes changements, je suis trop fatigué pour le faire moi-mêmeEnvoyé par BruceBoc
Jc
Voici donc les 2 versions sans utilisation du Blending :
Partager