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 :

glutmainloop, je comprends pas trop


Sujet :

OpenGL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 38
    Par défaut glutmainloop, je comprends pas trop
    bonjour,

    en fait , j'aimerais avoir à quoi sert la fonction glutMainloop dans une fonction main, j'ai glutdisplayfunc avant et glutreshapefunc avant, je ne sais pas comment ça marche vous pourriez m'expliquer?

  2. #2
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Par défaut
    En cherchant tu trouve :
    glutMainLoop enters the GLUT event processing loop. This routine should be called at most once in a GLUT program. Once called, this routine will never return. It will call as necessary any callbacks that have been registered.
    En gros lorsque tu mets cette fonction, ton programme rentre dans une boucle qui traite les évènements GLUT => comme par exemple les touches de clavier ou alors la souris et ton programme ne sortira pas de cette boucle tant que tu ne quittera pas le programme.

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 174
    Billets dans le blog
    155
    Par défaut
    Exactement ce qui a été dit.

    La fonction glutMainLoop démarre la boucle d'évènement de GLUT. Étrangement dans GLUT ( je conseille toujours freeGLUT ) il n'y a pas de vrai moyen manuel de sortir del a boucle ... donc il est facile de faire une fuite de mémoire. freeGLUT améliore les choses.

    Maintenant ... comment ça marche. Donc nous avons toute une série de fonction qui finisse par le mot 'func' et qui prenne des pointeurs sur fonction tel que glutdisplayfunc. C'est fonction permettent d'enregistrer une fonction dans un événement précis de la boucle d'évènements ( glutMailLoop ).
    Ainsi , si la fenêtre est redimensionné, un évènement va avertir GLUT que la fenêtre est redimensionné et GLUT, dans la glutMainLoop va executer la fonction que vous avez enregistrer avec: glutReshapeFunc().
    Il faut savoir que s'il n'y a eu aucun évènement, c'est la fonction enregistrer avec glutIdleFunc() qui est executé .
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre éclairé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    freeGLUT améliore les choses.
    Alors comment on sort proprement de glutMainLoop?

  5. #5
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Par défaut
    Si on lit la documentation de freeglut, on trouve :
    One of the commonest complaints about the GLUT library was that once an application called glutMainLoop, it never got control back. There was no way for an application to loop in GLUT for a while, possibly as a subloop while a specific window was open, and then return to the calling function. A new function, glutMainLoopEvent, has been added to allow this functionality. Another function, glutLeaveMainLoop, has also been added to allow the application to tell freeglut to clean up and close down.
    Donc il existe maintenant deux fonctions une qui permet d'exécuter une sous-boucle et une autre pour nettoyer et quitter proprement (glutLeaveMainLoop).

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 174
    Billets dans le blog
    155
    Par défaut
    Encore une fois AuraHxC a tout dit

    C'est une des grandes raisons du pourquoi je conseille freeGLUT.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut
    question subsidiaire, pourquoi freeGlut plutôt qu'OpenGlut ?

  8. #8
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 174
    Billets dans le blog
    155
    Par défaut
    Parce que je viens d'apprendre qu'OpenGLUT existe à l'instant même

    Euh ... pour l'instant je n'ai pas trouvé de chose qui me pousserai à utiliser OpenGLUT plutot que freeGLUT.
    Le developpement de OpenGLUT est aussi stoppé ( 2005 d'après source forge ).

    De plus l'ajout de nouvel fonctionnalité ... c'est sur ça peut être bien ... mais là cela ne me semble pas super. ( Ok ça c'est plus du troll )
    Le documentation qui n'est pas comme celle de GLUT / freeGLUT.
    C'est quoi la game loop ?

    Et puis ... y a tout de même quelque ajout sympa ... mais qui sont plus de l'ordre du tool ( notamment le "glutReportErrors()" )

    Après ... c'est un choix ... OpenGLUT ne me semble pas trop mauvaise ... loin de là ( c'est toujours mieux que GLUT ). Donc maintenant je conseillerai les deux, depuis que je sais que les deux existe ( je déconseille toujours GLUT :p )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  9. #9
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Par défaut
    Disons que Freeglut m'a l'air plus "mature" après c'est que mon avis. Mais je peux constater que lorsque j'installe tout ce que j'ai besoin pour faire de l'openGL, c'est FreeGLUT qui est installé, de plus OpenGLUT n'est même pas dans les dépôts => je suis ArchLinux.
    Je sais, cela n'empêche pas de prendre les sources de Open et de les compiler bien sur

    Donc je conseillerais FreeGLUT par principe mais OpenGLUT peut être une bonne alternative a GLUT comme l'a si bien dit Little.

Discussions similaires

  1. MERGE, je ne comprends pas trop
    Par guil1230 dans le forum SQL
    Réponses: 3
    Dernier message: 17/04/2007, 12h55
  2. Réponses: 5
    Dernier message: 23/06/2004, 23h23
  3. sql ne comprend pas mon where!et me demande des parametres
    Par marie10 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 20/04/2004, 12h08
  4. [Rave] un message que je ne comprends pas
    Par Clotilde dans le forum Rave
    Réponses: 2
    Dernier message: 30/09/2003, 22h46

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