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 :

Cherche tuto HUD OpenGL/Delphi


Sujet :

Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 348
    Points : 103
    Points
    103
    Par défaut Cherche tuto HUD OpenGL/Delphi
    Bonjour à tous,
    Je recherche un tuto sur Internet qui explique comment afficher des HUD (Heads-Up Display) à l'écran avec du texte en OpenGL / Delphi.
    Tout ceux que j'ai trouvé jusqu'à maintenant concernent le C++ et je ne sais pas l'interpréter...
    Merci de votre aide

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    pour moi ce n'est qu'un rendu par dessus le précédent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    begin
    // effacer tout
     glClear(GL_COLOR_BUFFER_BITS or GL_DEPTH_BUFFER_BITS);
     
    // reset de la matrice de transformation
     glLoadIdentity;
     
     glTranslatef(tx,ty,tz); // déplacement
     glRotatef(a,rx,ry,rz); // rotation
    // ... autres transformations 
     DrawScene; // rendu de toute la scène
     
    // reste de la matrice de transformation
     glLoadIdentity;
     glTranslatef(hud_tx,hud_ty,hud_tz); // déplacement
     glRotatef(hud_a,hud_rx,hud_ry,hud_rz); // rotation
    // ... autres transformations 
     DrawHUD; // rendu du HUD
     
     SwapGL;
     
    end;
    ça me fait penser à mon code pour le défi Serpent...j'affiche un message par dessus le jeu suivant ce principe
    Nom : HUD.jpg
Affichages : 90
Taille : 14,4 Ko
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    J'ai trouvé ce site en voulant me mettre à l'OpenGL (Merci Paul Toth, ton serpent m'a donné envi de m'y mettre )

    Tout les codes sont en Delphi, un vrai régal ^^
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Citation Envoyé par Rayek Voir le message
    J'ai trouvé ce site en voulant me mettre à l'OpenGL (Merci Paul Toth, ton serpent m'a donné envi de m'y mettre )

    Tout les codes sont en Delphi, un vrai régal ^^
    oui, l'auteur initial de ce site, Jan Horn, est décédé dans un accident de voiture...il avait lancé le projet de traduire tous les sources de Quake 2 sous Delphi, et c'est triste à dire mais ça mort à donné un coup de boost au projet qui a été mené à terme en sa mémoire.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 348
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    pour moi ce n'est qu'un rendu par dessus le précédent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    begin
    // effacer tout
     glClear(GL_COLOR_BUFFER_BITS or GL_DEPTH_BUFFER_BITS);
     
    // reset de la matrice de transformation
     glLoadIdentity;
     
     glTranslatef(tx,ty,tz); // déplacement
     glRotatef(a,rx,ry,rz); // rotation
    // ... autres transformations 
     DrawScene; // rendu de toute la scène
     
    // reste de la matrice de transformation
     glLoadIdentity;
     glTranslatef(hud_tx,hud_ty,hud_tz); // déplacement
     glRotatef(hud_a,hud_rx,hud_ry,hud_rz); // rotation
    // ... autres transformations 
     DrawHUD; // rendu du HUD
     
     SwapGL;
     
    end;
    ça me fait penser à mon code pour le défi Serpent...j'affiche un message par dessus le jeu suivant ce principe
    Nom : HUD.jpg
Affichages : 90
Taille : 14,4 Ko
    Et je fais comment pour afficher le texte (où est-ce que je l'ecris)?

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Citation Envoyé par User Name Voir le message
    Et je fais comment pour afficher le texte (où est-ce que je l'ecris)?
    pour écrite en OpenGL tu as deux approches possible

    1) utiliser une texture contenant un bitmap avec les différences caractères, il suffit alors de dessiner des rectangles texturés avec les bonnes cordonnées de texture (glTexCoord2f) pour sélectionner la bonne lettre dans l'image.

    2) utiliser l'extension windows wglUseFontOutlines qui permet de produire des "call list" OpenGL d'après une police True Type...c'est ce que je fais dans Snake3D dont tu peux regarder le source.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 434
    Points : 5 846
    Points
    5 846
    Par défaut
    salut

    regarde dans les source de paul
    il y a une methode qui s'appelle TextFX
    et qui fait appelle glTextOut
    qui elle meme fait appelle a glTextOut2


    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 348
    Points : 103
    Points
    103
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextFX(0,'GET READY !',t-StartTicks);
    Paul, si je veux que mon HUD soit affiché au cours de toute la partie, je dois remplacer t-StartTicks par quoi, s'il te plait?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 348
    Points : 103
    Points
    103
    Par défaut
    Il me dit: Unsatisfied [...] declaration of TextFX

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Citation Envoyé par User Name Voir le message
    Il me dit: Unsatisfied [...] declaration of TextFX
    tu es sur de maitriser les bases du langage Pascal ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Citation Envoyé par User Name Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextFX(0,'GET READY !',t-StartTicks);
    Paul, si je veux que mon HUD soit affiché au cours de toute la partie, je dois remplacer t-StartTicks par quoi, s'il te plait?
    c'est pas ce paramètre qui conditionne l'affichage, c'est l'invocation de la méthode qui est conditionnée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     // en début de partie, ajouter le texte "GET READY !"
     if StartTicks>0 then begin
      TextFX(0,'GET READY !',t-StartTicks);
     end;
    de même le message PAUSE est conditionné par le boolean Pause...le paramètre Ticks est juste là pour faire surgir le texte de la droite.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 348
    Points : 103
    Points
    103
    Par défaut
    J'ai toujours rien compris!

    tu es sur de maitriser les bases du langage Pascal ?
    Absolument pas.
    Bon je vais essayer de chercher du coté de la première possibilité.

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Citation Envoyé par User Name Voir le message
    J'ai toujours rien compris!

    Absolument pas.
    Bon je vais essayer de chercher du coté de la première possibilité.
    si tu veux éviter de perdre du temps, je te conseille fortement de te renseigner sur la structure générale d'une programme Pascal ! tu éviteras 90% des questions qui vont te venir à tâtonner comme ça.

    Le pascal est un langage particulièrement simple à comprendre (à mon sens) il est très structuré et ne permet que peu de fantaisie...d'où sa clarté
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 348
    Points : 103
    Points
    103
    Par défaut
    J'aimerais bien, mais comme j'ai un projet à présenter après-demain, je suis un peu à la bourre (et en plus j'ai presque fini, c'est ma dernière tache là).

    Je voudrais juste une dernière petite réponse:
    Je voudrais inscrire la valeur d'une variable numérique ate sur 36.
    Mais lorsque j'écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glImgWrite( IntToStr(ate),  ' / 36');
    il me répond Too many actual parameters.

    Pourrais-tu juste me corriger, stp?

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    il me semble que la concaténation de string se fait avec "+" et non ",'
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 348
    Points : 103
    Points
    103
    Par défaut
    Parfait!
    Merci Paul Toth, grâce à toi j'ai pu finir mon projet à temps!
    A savoir comment j'ai fait:
    J'ai utilisé le projet Non-Standard Fonts du site www.sulaco.co.za et j'ai utilisé la balise glImgWrite comme ils l'ont fait. A noter aussi qu'il faut un fichier .tga pour que le programme puisse charger la texture du texte depuis ce fichier.

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Citation Envoyé par User Name Voir le message
    Parfait!
    Merci Paul Toth, grâce à toi j'ai pu finir mon projet à temps!
    A savoir comment j'ai fait:
    J'ai utilisé le projet Non-Standard Fonts du site www.sulaco.co.za et j'ai utilisé la balise glImgWrite comme ils l'ont fait. A noter aussi qu'il faut un fichier .tga pour que le programme puisse charger la texture du texte depuis ce fichier.
    de rien, j'accepte les dons Paypal de tout montant
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/04/2014, 11h56
  2. Cherche Tuto Oracle 10g XE
    Par mosstu126 dans le forum Oracle
    Réponses: 3
    Dernier message: 28/11/2005, 08h46
  3. Réponses: 15
    Dernier message: 24/10/2005, 09h04
  4. cherche tuto socket
    Par godik dans le forum C++
    Réponses: 1
    Dernier message: 07/10/2005, 09h28
  5. Tuto SDL + Opengl
    Par Happy dans le forum OpenGL
    Réponses: 10
    Dernier message: 08/07/2005, 12h51

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