IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Probléme Texte 3D


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Par défaut Probléme Texte 3D
    Salut à tous,
    J'ai crée une petite animation graphique, et je voulais faire une petite intro avec du texte en 3D toussa toussa. J'ai utilisé la leçon 14 de NeHe Gamedev, et je l'ai adapté à mon code (j'ai rien changer, juste utilisé les fonctions build font et glprint).
    Ca marche bien, (enfin presque lol) mais le problème est que ma scène qui vient après est toute dégueu, c'est à dire sans lumière, affichage bizarre , du genre le Depth test désactivé ..
    J'ai regarder d'ou cela pouvait provenir, et il s'agit de la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glCallLists((GLsizei)strlen(text), GL_UNSIGNED_BYTE, text);	// Draws The Display List Text
    Si je la met en commentaire ma scène s'affiche normalement ... Mais j'arrive pas à trouver une solution

  2. #2
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut
    Un français a créé une classe pour faire du texte facilement sous OpenGL, 3D et 2D :

    pour ceux qui veulent afficher du texte
    pour les pauvres gens qui comme moi on désepérément cherchés une bibliothèque qui marche pour afficher du texte en opengl, eh bien, j'en ai fait une parce que j'ai pas trouvé la parfaite.

    http://lightness1024.free.fr/font-lib.tar.bz2

    j'ai fait un paquet pour linux avec un makefile.
    il faut les bibliotheques, SDL, gl, glu, et free type font 2.

    un exemple est fourni

    le code est portable, autant que les bibliotheques utilisées. donc, windowsiens, ne vous genez pas.
    attention a bien utiliser un editeur puissant genre notepad++ car les retours a la ligne sont style unix.

    --
    EDIT:
    bonne nouvelle pour les windowsiens.

    j'ai fait un projet visual studio 2003.
    disponible ici:

    http://lightness1024.free.fr/lib-polices.7z

    la différence avec l'archive linux, est que windows ne bénéficiant pas du merveilleux "apt-get install", chercher les bibliothèques à la main est soulant.

    alors je l'ai fait pour vous, tous les headers et dll nécessaires sont dans l'archive.
    de même que dans le paquet linux un binaire x86 est fourni,
    un executable de l'exemple est pret à être lancé, pour les curieux.

    (détail:
    la classe CUnixTimer de l'exemple qui ne compile pas sous la CRT de microsoft est remplacée par la classe CChrono qui fonctionne)

    note: la compression est en LZMA (programme seven zip)
    l'archive fait 660ko pour 3.3Mo originaux. winrar ou IZarc peuvent décompresser cette archive.
    sinon visitez la page du projet www.7-zip.org

    Elle est vraiment géniale, elle utilise la bibliothèque FreeType, mais là ou je n'avais rien compris à cette dernière, cette petite classe simplifie largement le boulot, avec une ligne on arrive à écrire du texte.

    http://projets.6mablog.com/
    http://lightness1024.free.fr/

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Par défaut
    hum j'ai maté vite fait et c'est bien trop complexe par rapport au code de nehe (d'ailleurs c'est le même type de méthode qui est utilisé). 2 fonctions avec 20 lignes de codes en tout et ça marche, mais je sais pas pourquoi il y a conflit entre ma scène et le glCallLists.

  4. #4
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut
    Citation Envoyé par denebj
    hum j'ai maté vite fait et c'est bien trop complexe par rapport au code de nehe (d'ailleurs c'est le même type de méthode qui est utilisé). 2 fonctions avec 20 lignes de codes en tout et ça marche, mais je sais pas pourquoi il y a conflit entre ma scène et le glCallLists.
    Difficile ? Il faut juste créer un objet de la classe du gars, charger la police et faire un truc du genre obj.Font2D ("texte"), ou obj.Font3D ("texte"). Tu trouves ça difficile toi ?

    Justement, c'est 20 fois plus facile que le code de Nehe puisque tu n'as pas à toucher aux fonctions de FreeType, tout est automatique dans la classe. En fait, le plus dur c'est d'installer FreeType (c'est vraiment pas clair leur instal).

  5. #5
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    Citation Envoyé par denebj
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glCallLists((GLsizei)strlen(text), GL_UNSIGNED_BYTE, text);    // Draws The Display List Text
    Si je la met en commentaire ma scène s'affiche normalement ... Mais j'arrive pas à trouver une solution
    tout simplement que la display list contient des appel pour desactiver l'eclairage et autre je suppose... il suffit donc de les réactiver après l'appel de la display list.
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  6. #6
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par défaut
    ou de repenser la display list parceque là, de mon point de vue, c'est pas bien
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Par défaut
    Oui j'ai trouvé , j'avais pourtant réactiver les lumières et le test de profondeur mais ça suffisait pas, j'avais un problème avec le cullface et d'autre modif non réactivé, maintenant ça marche niquel donc c'est cool ^^
    merci à vous

  8. #8
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par défaut
    à ta place, je séparerai l'init à faire avant d'afficher du texte, ne pas mettre dans la display list, et une autre fonction à lancer une fois terminé d'avoir affiché le texte qui remet tout comme il faut

    penses également au si c'est bon
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème Text Item
    Par squallJ dans le forum Reports
    Réponses: 5
    Dernier message: 14/09/2007, 14h11
  2. problème : texte ou numérique ?
    Par mouaa dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/06/2007, 09h00
  3. [CR XI] Problème texte légende
    Par anneso108 dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 02/02/2007, 10h29
  4. Réponses: 2
    Dernier message: 14/12/2006, 07h54
  5. [VB5] problème text box
    Par moi214 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 31/05/2006, 22h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo