|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Sebastien Étudiant Inscription : novembre 2008 Messages : 40 ![]() |
Bonjour,
J'ai un soucis avec le tuto 13 de Nehe pour afficher du texte 2D sur une fenêtre. J'utilise le C, sous code blocks et windows, ma police se trouve bien dans le répertoire source et binaire.. Je ne vois pas du tout de quoi ça peut venir, j'ai réduis mon code au minimum pour ne mettre en valeur que la partie du tuto.. Mais rien à l'écran... Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() |
As-tu essayé ce code minimal pour rendre du texte de la manière que tu veux utiliser ?
Code :
__________________
Si vous ne trouvez plus rien, cherchez autre chose... Chef de projet (et unique exécutant pour l'instant) pour Castor 3D |
||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Sebastien Étudiant Inscription : novembre 2008 Messages : 40 ![]() |
Ça ne fonctionne pas non plus...
D'autres idées ? ! |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() nicolas Développeur de jeux vidéo Inscription : août 2007 Messages : 2 167 ![]() |
c'est quoi "ca ne fonctionne pas"? des erreurs a la compil, un crash, une erreur, un ecran noir?
|
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() nicolas Développeur de jeux vidéo Inscription : août 2007 Messages : 2 167 ![]() |
ah pardon tu as dit rien a l'écran.
Si tu affiches un triangle coloré en plus de ton texte, ca marche? |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Sebastien Étudiant Inscription : novembre 2008 Messages : 40 ![]() |
Oui oui j'ai bien la 3D qui s'affiche..
J'affiche un carré avec texture en utilisant les vertex array et pas de soucis de ce coté là. Donc rien à l'écran au niveau écriture avec ou sans dessin opengl |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() nicolas Développeur de jeux vidéo Inscription : août 2007 Messages : 2 167 ![]() |
tu as verifié que tes font etaient bien chargées ? (il y a deux appels qui renvoient un hfont ou quelque chose de similaire)
|
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Saga Eterna Inscription : février 2011 Messages : 8 ![]() |
Bonjour,
La fonction CreateFont utilise les fonts qui sont dans le répertoire windows et enregistrées par le système. Si tu veux utiliser un font qui est dans un autre répertoire (en l'occurrence celui de ton programme) tu dois d'abord l'enregistrer avec la fonction AddFontResource. Par contre, pourquoi inclues-tu SDL_ttf si tu charges tes fonts avec les fonctions Win32? Stéphane |
|
|
00
|
|
|
#9 | |
|
Invité régulier
![]() Sebastien Étudiant Inscription : novembre 2008 Messages : 40 ![]() |
Citation:
J'ai plus ou moins tout essayé, je laisse ça en stand by pour le moment pour ne pas perdre mon temps sur ce problème.. A bientôt ! |
|
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Étudiant Inscription : juin 2009 Messages : 155 ![]() |
Les display list sont en deprecated, et donc certain drivers ne les prends plus en charges. Ou même juste un rendu en core profile suffit pour qu'elles ne fonctionnent plus. Or cette technique utilise exclusivement les displays lists, d'ou le pourquoi çà ne fonctionne pas ...
La solution est d'utilisé une texture avec tout les caractères dessus, et ensuite, à partir de ta chaine de caractère, tu crée un tableau de vertices : des triangles avec les coordonné de textures bien spécifique à chaque lettre et tu fais le rendu ensuite. Voici un petit exemple de texture (google est ton amis) ![]()
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Sebastien Étudiant Inscription : novembre 2008 Messages : 40 ![]() |
Wow..
Je comprends bien le truc, mais... J'aurais quand méme eut plusieurs trucs à afficher et parfois dynamiquement.. C'est du gros bricolage là !
|
|
|
00
|
|
|
#12 | ||||
|
Membre habitué
![]() Étudiant Inscription : juin 2009 Messages : 155 ![]() |
Citation:
En faite, c'est assez simple, une chaine de caractères est en fait un tableau de char, la plupart du temps compris entre 0 et 127. donc si tu veux les coordonnées de ta lettre dans la texture tu fais un petit algorithme du type : Code :
Citation:
|
||||
|
10
|
|
|
#13 |
|
Invité régulier
![]() Sebastien Étudiant Inscription : novembre 2008 Messages : 40 ![]() |
Avec les détails que tu a donné au dessus, ça ne veux plus rien dire..
Je voyais ça différemment en un peu plus compliqué.. Mais ça reste quand même un peu.. bricolé Il faut passer en 2D, faire son petit carré au bon endroit.. mettre la texture etc.. Je vais pas me lancer la dedans sachant que je suis limité niveau temps.. Merci beaucoup pour la solution, je la garde dans un coin de ma tête |
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Sebastien Étudiant Inscription : novembre 2008 Messages : 40 ![]() |
Finalement j'avais réussis à régler le soucis, j'ai pu écrire avec SDL TTF
le dernier paramètre a été modifié: SDL_SetVideoMode(largeur_ecran, hauteur_ecran, 32, SDL_OPENGLBLIT /*SDL_OPENGL*/); |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com