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

DirectX Discussion :

[DX9 - D3D] Afficher du texte


Sujet :

DirectX

  1. #1
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 9
    Par défaut [DX9 - D3D] Afficher du texte
    Bonsoir à toutes et à tous,

    Préambule :

    - DirectX 9.0c (sdk d'août 2007)
    - Plateforme windows (2000 et xp)
    - Je développe en Delphi avec les lib de Jedi (clottie 92) (mais bon, peu importe je code aussi en c++ je saurais donc déchiffrer vos réponses dans ce language)
    - Je réalise un petit (très petit) moteur 3d -Direct3d- que j'utilise dans une appli classique (ma surface directx est placée dans une form contenant d'autres compo MFC)
    - View en perspective main-gauche

    Ma problématique :

    - J'affiche et manipule (translation, rotation, scaling) des primitives : rectangles (plats), triangles, box, pyramides...

    - Par scène, je pense avoir de l'ordre de 300 primitives (max tout de même)

    - Tous ces objets sont posés sur un plan (une grille qui sert de repère). Les objects ne bougent que ce plan, pas d'élévation. Ils sont posés à plat.

    - J'ai besoin d'afficher sur la surface de ces objets la caption (un libellé, un texte) que je donne à ces objets. Obligation : pouvoir afficher ce texte suivant des règles de placement : centré dans la surface ou bien positionné dans un coin.

    Quelle serait d'après vous la meilleure méthode à utiliser.

    Déjà, après avoir pas mal de papier sur le sujet des fonts, j'en conclu que la classe CD3DFont est la meilleure solution (minimalise l'occupation de la ram puisque fontes bitmap)

    J'ai pensé à deux solutions :

    - Une texture bitmap par objet (de la taille du texte à afficher) que je positionnerai à la main... mon soucis : faire un texture transparente pour que seul le texte ne soit réellement affiché.

    - Trouver le moyen de créer le texte dans une surface (p-e style plane) que je pourrais manipuler par les matrices pour la positionner exactement comme mon objet (propriétaire de cette surface) sur l'une des faces de mon dit objet. J'espère être clair... J'ai cru lire des choses sur une telle technique (texte dans une surface) mais je n'ai pas compris comment faire cela...

    - Bien entendu, il resterai la technique du texte to mesh... mais cela me parait très consommateur de ressources, me trouve-je ?

    - Si vous connaissez une autre approche, je suis ouvert à toute suggestion Et avide de code pour mettre en évidence les aspects techniques !

    Merci par avance ! SixOfOne.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Regarde le travail de loulou sur la gestion du texte et des polices.

    http://http://loulou.developpez.com/...eur3d/partie6/

  3. #3
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 9
    Par défaut
    Merci pour l'info, je connais déjà ce tuto j'ai parcourus tous les tuto du site, même si ces tutos sont vraiment géniaux, ils ne répondent pas à ma question... à moins que je n'ai su lire suffisamment entre les lignes.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Bah au niveau de la technique, loulou a comparé plusieurs méthodes et implémente la meilleure... entre autre pour DirectX

    Ca correspond non?

  5. #5
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 9
    Par défaut
    J'ai résolu mon soucis en optant pour la méthode de rendu de mon texte dans une texture que j'applique sur une surface que je rend dans un quad. Ainsi j'obtiens du texte dans des quad que je peux manipuler à ma guise avec les matrices de transformation.

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

Discussions similaires

  1. Comment afficher du texte avec swing ?
    Par meda dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 27/10/2004, 14h35
  2. [TabControl] Afficher du texte en transparence
    Par Benjamin GAGNEUX dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/10/2004, 23h01
  3. Afficher du texte en couleur sous Borland C++ 4.02
    Par Cthulhu 22 dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 18/11/2003, 00h53
  4. afficher du texte
    Par Mau dans le forum OpenGL
    Réponses: 10
    Dernier message: 24/06/2003, 15h31
  5. Réponses: 2
    Dernier message: 10/06/2002, 11h03

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