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 :

[OpenGL/FREEGLUT C++] Problème de flickering quand je clique sur un objet


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 29
    Par défaut [OpenGL/FREEGLUT C++] Problème de flickering quand je clique sur un objet
    Bonjour,

    En résumé, j'ai fait une petite librairie pour pouvoir afficher rapidement des objets basiques (sphère, cube, ...) et encapsuler toutes les routines d'OpenGL/GLUT.
    Au final, j'ai une simple classe GLScene qui contient et gère tous les objets (un peu comme TGLScene de Delphi).
    Il suffit donc de dériver de cette classe pour créer n'importe quelle scène.

    Mais j'ai un problème de flickering quand je clique sur un objet dans certaines conditions :
    - quand je fais bouger la scène et que je clique sur un objet, pas de problème
    - quand je fais un zoom puis je clique sur un objet, j'ai l'avant dernière scène qui s'affiche brièvement.
    C'est probablement un problème de buffer, mais impossible de trouver où ça foire.

    J'ai fait un projet exemple pour reproduire le problème.
    Pour tester, suffit de compiler l'archive jointe avec juste freeglut comme librairie.
    Le main se trouve dans le fichier Simple.cpp

    Si une bonne âme peut me trouver la solution ce serait cool
    Lionel
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 539
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 539
    Par défaut
    juste une question glutPostRedisplay est-ce vraiment utile d'appeler cette fonction ?
    Sinon j'apprécie le code il peut être très utile.
    Est-il prévu de charger des objets Wavefront obj par exemple ?
    En tout cas c'est bien parti, nous faire signe de l'avancement

  3. #3
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 29
    Par défaut
    Ok, j'ai fini par trouver, un glutSwapBuffers de trop !!
    Fichiers attachés Fichiers attachés

  4. #4
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 29
    Par défaut
    Pour simplifier, j'ai mis les sources sur GitHub.

  5. #5
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 539
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 539
    Par défaut
    merci pour le code il me sera utile .
    J'ai regardé vite fait y-a-t-il un moyen de charger un fichier d'objet 3d par exemple au format Wavefront obj et créer un mesh 3d ?

  6. #6
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    Alors je déconseille FreeGLUT , c'ette lib est une vrai horreur.
    Et pas faute de vouloir la testé ,j'ai même fait un jeu en 3D avec (y'a 9 ans ) :




    Le résultat était sans appel , ça alourdit le code inutilement , et ça m'oblige de mettre des variables globales...
    Du coup depuis j'utilise SDL (ou SFML ou GLFW).

    Après je vais être honnête, ton code est complètement obsolète, de OpenGL 1.2 en 2022 ?! ^^'
    Et en plus tu semble utiliser glu...

    Du coup pour moi OpenGL 1.2 + glu, c'est mort
    Il faut au moins du OpenGL 3 ou du OpenGL ES 2 ou 3.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/02/2013, 23h05
  2. Réponses: 1
    Dernier message: 02/03/2008, 21h34
  3. Afficher une TextArea quand on clique sur un bouton
    Par Goozisan dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 26/11/2006, 20h44
  4. [Forum] Envoyer une variable quand on clique sur un lien
    Par Eisy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 34
    Dernier message: 17/03/2006, 12h05
  5. Insérer un code quand on clique sur un smiles
    Par Blade dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/12/2004, 01h10

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