Bonjour,
Je developpe une application qui utilise GLUT, et j'aimerais savoir s'il est possible d'afficher les accents : é, è, à, ç???
Car lorsque j'essaye d'afficher un de ces caractères ca ne marche pas.
Merci.
Bonjour,
Je developpe une application qui utilise GLUT, et j'aimerais savoir s'il est possible d'afficher les accents : é, è, à, ç???
Car lorsque j'essaye d'afficher un de ces caractères ca ne marche pas.
Merci.
Tu as essayé avec quelle fonction ?
Par exemple, glutBitmapCharacter est capable d'afficher les caractères accentués que tu as cités.
Par contre glutStrokeCharacter ne semble pas réussir à les afficher donc si c'est celui-là que tu utilises ...
En effet mon programme utilise la fonction : glutStrokeCharacter
La fonction glutBitmapCharacter prend quoi comme paramètres stp??
Merci.
un petit coup de google aurait évité que tu pose la question, m'enfin bon..
http://www.opengl.org/resources/libr...c3/node76.html
En fait voici l'utilisation que j'ai de la fonction : glutStrokeCharacter
La fonction :glutBitmapCharacter prend en compte 2 parametres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 deque<string> dq_logs; // collections des messages à afficher for(unsigned short i=0; i< dq_logs.size(); ++i) { glColor4f(0.0, 0.0, 0.0, f_alpha); renderStrokeCharacter(0,0,0,GLUT_STROKE_ROMAN, dq_logs[i]); glTranslatef(0, f_offset_y, 0); f_alpha = f_alpha>0.2 ? f_alpha-=0.15 : 0.19; }
Je comprends pas pourquoi cette fonction prend en parametre int character et pas char character???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 void glutBitmapCharacter (void *font, int character);
Il faut que je me serve du code ASCII pour faire le passage de l'une a l'autre??
Les 2 fonctions prennent les mêmes paramètres
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 void glutBitmapCharacter(void *font, int character); void glutStrokeCharacter(void *font, int character);
Parce qu'en C, le passage de paramètre char n'a aucun sens puisqu'on va le transformer en entier avant de le passer en paramètre...Envoyé par Bebert71
Bien que beaucoup de personnes programment en passant des caractères, en-dessous, c'est des entiers qui sont passés en paramètre...
Et non, passe la valeur du caractère, le compilateur fera le travail pour toi,
Jc
Oui tu as raison dsl je me suis palnté!
En fait j'utilise la fonction : renderStrokeCharacter
Merci pour ta réponse fearyourself.
Mais maintenant mon probleme est que je ne gére pas des char mais des strings (conteneur de string).
Et si je fais :
Ca ne marche pas puisque ca le transforme en char* et non en char.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_10, dq_logs[i].c_str());
Y a t il un moyen simple de transformer une string en char???
Merci.
Envoyé par Bebert71
Voir la FAQ :
http://jeux.developpez.com/faq/openg...UT_texte_ortho
Jc
Merci. Ca y est ca compile.
Voici mon code :
Merci à tous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 for(unsigned short i=0; i< dq_logs.size(); ++i) { glColor4f(0.0, 0.0, 0.0, f_alpha); char * s; strcpy(s,dq_logs[i].c_str()); glutBitmapCharacter(GLUT_STROKE_ROMAN, *s); ... }
Ca compile, mais ça n'affichera pas ta chaîne de caractère, juste le premier caractère
Jc
Oui mais en fait la fonction dont je vous parlé tout a l'heure : renderStrokeCharacter est une fonction que l'auteur du programme que je modifie a créé.
Voici le code de cette fonction :
Est-ce que si je remplace glutStrokeCharacter(font, _s_message.at(i)); par glutBitmapCharacter(font, _s_message.at(i)); ca devrait marcher???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void renderStrokeCharacter(float x, float y, float z, void *font, const string& _s_message) { glPushMatrix(); glScalef(0.0004,0.00035,0.0004); glTranslatef(x, y, z); for (int i = 0; i<_s_message.size(); ++i) glutStrokeCharacter(font, _s_message.at(i)); glPopMatrix(); }
Oui mais tu utilises glTranslate ce qui fait un déplacement dépendant de la position courante. Ce qui n'est pas généralement souhaité. Il faudrait utiliser glRasterPos comme c'est fait dans la FAQ. Remarque que l'utilisation du z n'a pas d'intêret ici.Envoyé par Bebert71
A part que les font ne sont pas les mêmes, oui ça devrait fonctionner,Est-ce que si je remplace glutStrokeCharacter(font, _s_message.at(i)); par
glutBitmapCharacter(font, _s_message.at(i)); ca devrait marcher???
Jc
Bonjour,
j'ai encore de problèmes avec l'affichage des accents. Ils sont toujours ignorés.
J'utilise la fonction glutBitMapCharacter(...) et je suis sur WINDOWS.
J'ai lu sur des tutorials que les fonts peuvent s'aggroupper sur deux groups.
Sans Serif--> n'est pas capable d'afficher les accents et
Serif --> Elle est capable de les afficher.
Quelq'un pourrait me dire si c'est possible de changer les types de fonts avec glut ou openGL? Ou un idée d'ou il pourrait venir mon problème?
L'affichage marche très bien et sauf les accents je n'ai pas trouvé des problèmes. J'ai essayé plein de codes différents et avec tous j'ai le mème problème. je ne crois pas que le problème vienne de glutBitMapCharacter ni de glutStrokeCharacter, sinon, d'une autre initialisation que j'aurai oublié de faire.
merci bcp,
Alex
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager