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

Moteurs 3D Discussion :

Utilisation de FreeType


Sujet :

Moteurs 3D

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Utilisation de FreeType
    Bonjour,

    J'aurais voulu savoir si de l'aide pouvait m'être apportée concernant la partie polices graphiques du tutoriel sur le moteur 3D (de Laurent Gomila).
    Plus particulièrement sur la méthode LoadFont du fichier FontManager.cpp. En effet, le tutoriel ne précise le fonctionnement que sous Windows, or je suis sous système Unix. N'y connaissant pas grand chose aux polices, j'aurais voulu savoir si quelqu'un avait essayé de réécrire cette méthode avec FreeType notamment.
    J'ai bien essayé de copier l'exemple inclus dans cette bibliothèque, mais il ne concerne que la manière d'extraire un seul caractère d'une police et de mettre cette lettre dans une petite image TGA à sa taille.

    Enfin voilà, si quelqu'un pouvait m'aider à résoudre ça, j'en serai très heureux car comme je l'ai dit, je n'y connais pas grand chose et je m'embrouille très vite avec ces polices. Du coup je ne sais plus comment m'en sortir autrement qu'en demandant de l'aide ^^

    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 106
    Points : 153
    Points
    153
    Par défaut
    Je ne connais pas la lib dont tu parles mais freetype oui.

    En gros pour freetype, pour recuperer un glyph (caractere) et le convertir en bitmap (en general en niveau de gris sir 8 bits), voila les etapes:

    1.Donner e freetype la taille demandee en pixels avec FT_Set_Pixel_Sizes.
    2.Recuperer l'index du glyph dans la font avec FT_Get_Char_Index (il est possible que le glyph demande n'existe pas, notemment pour les caracteres CJK, la plupart des fontes ne les ont pas).
    3.Pour des besoin specifiques tu peux apeller FT_Set_Transform pour modifier les options de convertion des glyph en bitmaps.
    4.Charger le glyph avec FT_Load_Glyph. A ce stade.
    5.Apeller FT_Render_Glyph pour faire le rendu.
    6.Convertir le rendu en format bitmap classique avec FT_Glyph_To_Bitmap.

    A ce stade tu as le glyph dans un format bitmap lisible qu'il est possible par example d'utiliser pour mettre a jour une texture DirectX ou OpenGL. Le rendu etant assez long il est plus que recommande d'avoir un systeme pour "cacher" les caracteres. Freetype, AMHA, est beaucoup plus puissant que le systeme de font de DirectX, et surtout donne beaucoup plus de liberte et de controle. Mais il demande plus de travail pour l'utiliser car il se contente de convertir des glyphs en bitmaps dans le cadre d'une utilisation pour un jeu video. C'est au moteur de gerer le texte (et tout le reste ).

    Apres pour gerer le texte, les espacements, ... Tu peux recuperer les valeurs de typo sur la fonte juste apres FT_Set_Pixel_Sizes si tu veux faire une lib de texte complete (baseLine, acsender, descender, ...).
    http://www.myfirstfont.com/glossary.html

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Ok merci beaucoup

    Je vais voir ça dès que j'en aurai le temps.

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    C'est bon j'ai réussi ! En fait j'ai repris l'exemple C++ présent dans la bibliothèque de FreeType, puis j'ai étudié chaque ligne pour comprendre ce qui était fait. Au bout de plusieurs heures et tests, j'ai réussi à créer une texture à partir d'une police.

    Tout marche nickel, je suis vraiment content ^^ Par contre j'ai enlevé un truc mais je n'aurais pas dû car du coup les lettres ne sont pas lisses, ce n'est pas très joli. Je vais voir ça !

    M'enfin bon, ça fait plaisir

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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