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

Delphi Discussion :

GLscene, cube, écriture et rotation


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 125
    Par défaut GLscene, cube, écriture et rotation
    bonjour,

    Dans un premier temps, je cherche à savoir comment écrire du texte sur chaque face d'un cube avec Glscene. Quel composants doit-on utiliser pour celà (s'il y a lieu d'en utiliser).

    merci par avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 125
    Par défaut
    personne ne sait?

  3. #3
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    moi je sais

    enfin non pas vraiment, je n'utilise pas GLScene, mais OpenGL sous Delphi

    alors, le cube n'a pas de face sur laquelle on peut écrire...à moins que tu n'utilises une texture sur laquelle tu écris et que tu appliques sur les faces du cube.

    tu peux aussi venir écrire un texte en 3D au même endroit que la surface du cube, ce qui présente quelques petits inconvénients...

    1) tu devras jouer avec le DepthTest pour permettre au texte de s'afficher alors que le cube a déjà remplit le ZBuffer

    2) si ton texte dépasse du cube, il ne sera pas tronqué.

    3) il faut retrouver la position des faces du cube, ou au minimum la matrice de transformation au moment du rendu de chaque face du cube...c'est d'ailleurs parceque je trouvais OpenGL bien fait et suffisant que je ne me suis jamais embêté avec des objets GLScene

    voir par exemple Snake3D
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Je ne connais pas Glscene mais si chaque face du cube correspond au canvas d'un BitMap pour écrire en rotation sur un canvas tu peux trouver un bon exemple téléchargeable dans la discussion intitulée "[D7] comment dessiner du text le long d'un polyline" qui figure encore aujourd'hui Samedi 30 juin en page 4 du forum : telécharger le fichier DemoTextEnAngle.zip d'Eric Boisvert.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 125
    Par défaut
    merci pour vos réponses.

    Je porte particuliérement mon attention sur l'idée de créer un texture avec le texte sur chaque face. cependant lorsque j'applique une texture a un cube cele-ci se multiplie sur toute la surface du cube.
    Prenons un exemple. Avec une image représentant un chat, appliqué a mon cube je retrouve le chat sur chaque face du cube....vous voyez le soucis.

    Alors qu'en réalité je devrai avoir le chat "étalé" sur le cube

  6. #6
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par fred7
    merci pour vos réponses.

    Je porte particuliérement mon attention sur l'idée de créer un texture avec le texte sur chaque face. cependant lorsque j'applique une texture a un cube cele-ci se multiplie sur toute la surface du cube.
    Prenons un exemple. Avec une image représentant un chat, appliqué a mon cube je retrouve le chat sur chaque face du cube....vous voyez le soucis.

    Alors qu'en réalité je devrai avoir le chat "étalé" sur le cube
    c'est exactement pour cela que je n'utilise pas GLScene

    je ne sais pas comment on étale une texture sur un cube GLScene, mais tu as trois millions d'exemples OpenGL

    un cube, c'est 6 carrés, un carré c'est simple à faire sous OpenGL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     glBegin(GL_QUADS);
    // premier point
      glTexCoord2f(u,v); glVertex3f(x,y,z);
     // idem pour les 3 autres points !
      ...
     glEnd();
    x,y,z c'est biensur la position 3D d'un somment du cube
    u,v c'est la position dans la texture, en considérant que les coordonnées vont de 0 à 1 (donc 0.5 c'est la moitié)

    donc ton problème se résume à ne pas donner 0 ou 1 aux valeurs (u,v) des sommets mais une valeur qu'il t'appartient de déterminer en fonction de comment tu veux afficher la texture (c'est comment un chat étalé sur un cube ?!)
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 125
    Par défaut
    hum hum...je comprend le raisonnement logique où la simplicité l'emporte mais.....oui il y a un "mais" et j'en suis navré lol

    La raison de ce "Mais" est que j'utilise Glscene pour que mon cube soit esthétiquement au top du top....qu'il en jette un max quoi! (je n'utilise dailleur aucune texture).

    Bref si quelqu'un connait un peu...beaucoup GLscene hé bien qu'il se manifeste

    D'autre part l'utilisation d'openGl sous delphi m'interesse quels composants faut-il?

    merci

    ps: un chat étalé sur un cube ça ressemble à rien! sauf à un chat étalé sur un cube lol

Discussions similaires

  1. cube en 3D avec rotation
    Par dedel53 dans le forum Flash
    Réponses: 1
    Dernier message: 17/10/2007, 20h06
  2. Cube, rotation et couleur en JOGL
    Par Crudelix dans le forum 3D
    Réponses: 3
    Dernier message: 13/05/2007, 16h44
  3. [Rotation] Faire tourner un cube sur lui-même
    Par cyber_N dans le forum OpenGL
    Réponses: 4
    Dernier message: 14/07/2005, 21h29
  4. [debutant] Rotation autour d'un cube
    Par DiGiTAL_MiDWAY dans le forum OpenGL
    Réponses: 8
    Dernier message: 20/06/2005, 19h26
  5. Texture sur un cube en rotation sous Delphi !!!
    Par Cosmo dans le forum DirectX
    Réponses: 1
    Dernier message: 06/01/2004, 21h14

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