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

GLUT Discussion :

Intégration d'un programme


Sujet :

GLUT

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 28
    Par défaut Intégration d'un programme
    Bonjour à tous,

    Voila le problème :
    J'ai crée un programme en C qui fonctionne parfaitement. Maintenant, j'aimerai pouvoir le faire executer dans une fenêtre crée à l'aide de GLUT. Est ce possible ? Si oui, comment ?
    Suffit-il de copier créer une fenêtre et le reste du programme s'affiche dedans ? C'est ce que j'ai fait, j'ai crée une fenêtre à fond noir, mais mon code C ne s'affiche pas et ne s'execute même plus. De plus, l'instruction fullscreen de GLUT fait 'planter' ma console.

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de Steki-kun
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 222
    Par défaut
    glut fonctionne sur le système suivant : tu n'affiches pas directement dans la fenêtre créée en passant la fenêtre en argument comme on pourrait s'y attendre, mais tu dois dire à la librairie quelle est ta fonction d'affichage par un appel à glutDisplayFunction() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void affiche_des_trucs(); //prototype attendu par glut
    ...
    //dans l'initialisation
     glutDisplayFunc(affiche_des_trucs); //tu dis à glut que c'est cette fonction
    ensuite à chaque affichage, ou refresh (automatique ou demandé par toi par un glutPostRedisplay()), ta fonction affiche_des_trucs est appelée.

    C'est le même fonctionnement pour l'interaction avec l'utilisateur , en vrac (et entre autres) tu as les fonctions suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    glutKeyboardFunc(void (*func)(unsigned char key, int x, int y));
    glutMouseFunc(void (*func)(int button, int state, int x, int y));
    glutMotionFunc(void (*func)(int x, int y));
    glutReshapeFunc(void (*func)(int width, int height));
    glutIdleFunc(void (*func)(void));
    Je te laisse regarder la doc (ou même les pages man) pour leur rôle, etc.

    Et n'oublie pas de lancer la boucle de glut qui gère et génére ces evenements là :

    Voilà, j'espère que ca t'aidera.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 28
    Par défaut Merci
    Bonjour,

    Merci pour votre réponse rapide, je vais essayer cette solution et vous tiendrai au courant .
    Merci encore

  4. #4
    Membre expérimenté Avatar de Steki-kun
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 222
    Par défaut Re: Merci
    Citation Envoyé par Triomen
    Bonjour,

    Merci pour votre réponse rapide, je vais essayer cette solution et vous tiendrai au courant .
    Merci encore
    De rien, n'oublie pas de marquer le sujet comme "Résolu" si ça marche

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 28
    Par défaut Désolé mais...
    Rebonjour à tous,

    Suite à quelques essais, j'ai malheuresement de nouveau besoin d'aide. D'après vous, il faudrait donc mettre en argument la fonction qui affiche. C'est ce que j'ai fais avec une fonction "Display", dont j'ai déclarée le prototype après les "include" :
    void Display();

    Puis dans ma fonction main :

    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGBA | GLUT_SINGLE);
    glutInitWindowSize(640, 480);
    glutInitWindowPosition(50, 50);
    glutCreateWindow("Reversi");
    glutDisplayFunc(Display);
    glutMainLoop();
    Enfin , ma fonction Dysplay() :
    void Display()
    {

    glClear(GL_COLOR_BUFFER_BIT);
    glFlush();
    printf("Hello World");

    }
    Et la, le débutant que je suis s'attendait à vois s'afficher "Hello World" dans la fenêtre Glut. Queneni, c'est toujours dans la fenêtre MS DOS qu'il s'affiche. Je vous avous que le code de création de fenêtre vient d'un tutorial sur le net, mais je persévère !
    Merci

  6. #6
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    normal, il faut bien faire la difference entre la console et la fenetre crée par glut... tu ne peut pas ecrire dans la fenetre glut et tu ne peut pas dessiner dans la console...
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 28
    Par défaut ok
    Ok, donc je suis en train de comprendre que je ne pourrais pas écrire dans la fenêtre glut comme un écrit dans une console DOS ?? Donc, ce n'est pas aussi simple que ça que de convertir un fichier console en application graphique.

    Auriez-vous une autre solution pour transposer facilement un programme C en programme "graphique" ?

    Merci encore

  8. #8
    Membre expérimenté Avatar de Steki-kun
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 222
    Par défaut
    non on ne peut pas trop le faire facilement, tu dois utiliser les fonctions de l'API avec laquelle tu programes ton mode fenêtré pour afficher des trucs
    dans le cas présent, je sais pas, glut d'habitude je m'en sers que pour créer des meshs openGL moi essaie sur google des noms comme glutDrawText() ou glutDrawLine() ou glutPrintString() j'en sais rien tu trouveras peut être qque chose qui permet d'afficher du texte au milieu de ta fenêtre )

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 28
    Par défaut d'accord
    D'accord, je vais essayer et vous tient au courant

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 28
    Par défaut snif
    Bon, après maintes recherches, je crois que je vais abandonné l'idée d'intégré mon code pour faire du graphique. En effet, GLUT ne me paraît pas la meilleure solution pour convertir du C en graphique simplement . Si quelqu'un aurait une idée... Merci encore pour votre aide

Discussions similaires

  1. [Débutant] Programme de calcul d'un prix TTC. Ok en Int, mais pas en float.
    Par juninho dans le forum C#
    Réponses: 4
    Dernier message: 22/04/2014, 20h53
  2. Réponses: 0
    Dernier message: 22/07/2013, 16h50
  3. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

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