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 :

Text 3D dans un polygone


Sujet :

OpenGL

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut Text 3D dans un polygone
    Bonjour,
    J'utilise le TextRenderer pour insérer des textes dans une scène 3D avec JOGL. La métode que j'utilise est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    TextRenderer renderer = new TextRenderer(new Font("Arial", Font.PLAIN, 12), true,true);
    	renderer.begin3DRendering();
    	renderer.setColor(Color.GREEN);
    	renderer.draw3D( text, (float)(xPosition-this.getBarycenter().getX()), 
    			               (float)(yPosition-this.getBarycenter().getY()), 
    			               (float)(zPosition-this.getBarycenter().getZ()), 0.5f);
    	renderer.end3DRendering();
    	renderer.flush();
    J'ai deux questions:
    1) Comment orienter mon texte ? car dans cette méthode on donne juste la position x, y, z où le texte va être affiché. J'ai toujours le texte horizontal et écri de droite à gauche (le sens inverse).
    2) Comment plaquer ce texte sur un polygone? C'est-à-dire coller le texte sur un polygone de telle façon qu'on le voit comme une texture plaquée sur ce polygone.
    Merci d'avance.

  2. #2
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Salut,

    je n'utilise pas Jogl donc pas sûr d'apporter la bonne réponse, mais si c'est effectivement un texte en 3D, à priori tu peux l'orienter et le redimensionner avec des glRotatef et des glScalef.

    C'est ce que je fais avec les textes 3D que j'ai implémentés à partir du tutorial Nehe:
    http://nehe.gamedev.net/data/lessons....asp?lesson=14

    Pour la 2eme question, tu peux utiliser un FBO ou un pBuffer pour faire du rendu offscreen de ton texte dans une texture, puis utiliser cette texture pour ton polygone.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Merci pour ta réponse.
    L'exemple de Nehe utilise l'ancienne version de JOGL, donc je pourrai pas l'utiliser.
    Et pour la solution du FBO, elle est difficile à mettre en oeuvre et consammatrice de mémoire.
    Il faut juste peut être dessiner un texte et un polygone ayant la même orientation et les coordonnées x, y et z du texte doivent correspondre à un point du polygone.

  4. #4
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    L'exemple de Nehe utilise l'ancienne version de JOGL, donc je pourrai pas l'utiliser.
    Non mais essaie quand même avec des glRotate, si ca marche c'est bon!

    Et pour la solution du FBO, elle est difficile à mettre en œuvre et consommatrice de mémoire.
    Oui c'est sûr ca demande un peu de travail, mais franchement c'est pas sorcier. Quand à la consommation de mémoire je ne sais pas vraiment. tu es tellement limité que ca?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Il faut juste peut être dessiner un texte et un polygone ayant la même orientation et les coordonnées x, y et z du texte doivent correspondre à un point du polygone.
    Ça marchera si tous les points de ton polygone sont dans le même plan. Pour un triangle oui ok, mais si tu veux faire ca sur un mesh qui n'est pas "plat" il va falloir passer par les textures

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Citation Envoyé par ShevchenKik Voir le message
    Ça marchera si tous les points de ton polygone sont dans le même plan. Pour un triangle oui ok, mais si tu veux faire ca sur un mesh qui n'est pas "plat" il va falloir passer par les textures
    Oui, tous mes points sont dans le même plan. J'aimerai bien mettre le texte à coté du polygone de telle façon qu'ils apparaissent comme s'ils sont attachés. J'ai essayé le glRotate, mais j'ai du mal à bien orienter le texte (car la création des polygones et des textes est dynamique).

Discussions similaires

  1. Texte formaté dans RichEdit & DBRichEdit
    Par dem dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/03/2021, 20h05
  2. Réponses: 2
    Dernier message: 16/12/2004, 15h33
  3. Agir sur le texte entré dans un éditeur
    Par FatalError dans le forum C++
    Réponses: 1
    Dernier message: 24/10/2004, 14h54
  4. VB6] imprimer le texte afficher dans une picturebox
    Par Persons dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/08/2004, 11h15
  5. [GEOMETRIE] Cercle inscrit dans un polygone
    Par bebeours dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 10/02/2004, 14h18

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