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 :

Tremblements dans OpenGL


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut Tremblements dans OpenGL
    Bonjour,

    Dans le cadre du developpement d'un jeu, je suis en train de modeliser une ville (tres grossierement). Tant qu'a faire, j'ai utilisé un systeme de coordonnées GPS pour afficher mes objets. Quand je dessine ces objets, j'applique donc un coefficient pour avoir une taille a peu pres realiste.
    Comme j'ai une camera "fantome" qui permet de se balader n'importe ou, en fonction de la hauteur de la camera, je change l'angle de vue avec gluPerspective.

    Mais quand je tourne (avec de simples rotations) progressivement, je vois un tremblements de mes objets.

    J'ai pas mal cherché d'ou ca peut venir, j'ai meme essayé de dessiner des objets dont la position etait "en dur" (je suspectais que l'erreur pouvait venir de translations successives) mais c'est pareil...

    Est ce que quelqu'un aurait une idée d'ou peut venir le probleme ?

    Pour info, j'utilise gluPerspective avec un angle qui varie de 120 degres à une dizaine de degrés en fonction de la hauteur et une perspective min qui varie de 30 à 50. La perspective max est constante autour de 1000.

    Merci

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Salut,

    Citation Envoyé par hwoarang Voir le message
    Mais quand je tourne (avec de simples rotations) progressivement, je vois un tremblements de mes objets.
    Euh... pourrais-tu être plus précis sur la notion de "tremblement"? c'est un frisson ou c'est un parkinson?

    Citation Envoyé par hwoarang Voir le message
    Est ce que quelqu'un aurait une idée d'ou peut venir le probleme ?

    Pour info, j'utilise gluPerspective avec un angle qui varie de 120 degres à une dizaine de degrés en fonction de la hauteur et une perspective min qui varie de 30 à 50. La perspective max est constante autour de 1000.
    Désolé, mais sans plus d'info sur la manière que tu utilises pour afficher, on ne peut que sortir la boule de cristal (et la mienne est un peu embuée).
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Citation Envoyé par plegat Voir le message
    Désolé, mais sans plus d'info sur la manière que tu utilises pour afficher, on ne peut que sortir la boule de cristal (et la mienne est un peu embuée).
    Oui je me doute mais c'est des objets que je charge dans un fichier donc c'est pas évident de poster du code qui veut dire quelque chose...

    Citation Envoyé par plegat Voir le message
    Euh... pourrais-tu être plus précis sur la notion de "tremblement"? c'est un frisson ou c'est un parkinson?
    Bah visuellement, on voit que l'affichage se fait un peu à coté de ce à quoi on s'attendrait en faisant une rotation.
    A mon avis, ca ressemble à une erreur de précision et c'est de plus en plus visible quant mon angle d'ouverture retrecis. Mais le probleme, c'est que si je ne diminue pas celui-ci, ca m'oblige à diminuer ma perspective min pour pouvoir zoomer et c'est encore pire...
    Comment ils font dans les jeux pour qu'on voit bien ce que voit le personnage et le decor lointain en meme temps ?

  4. #4
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Citation Envoyé par hwoarang Voir le message
    Oui je me doute mais c'est des objets que je charge dans un fichier donc c'est pas évident de poster du code qui veut dire quelque chose...
    Tu sous-entends que ton code ne veut rien dire???

    Citation Envoyé par hwoarang Voir le message
    Bah visuellement, on voit que l'affichage se fait un peu à coté de ce à quoi on s'attendrait en faisant une rotation.
    C'est flou...

    Citation Envoyé par hwoarang Voir le message
    A mon avis, ca ressemble à une erreur de précision et c'est de plus en plus visible quant mon angle d'ouverture retrecis. Mais le probleme, c'est que si je ne diminue pas celui-ci, ca m'oblige à diminuer ma perspective min pour pouvoir zoomer et c'est encore pire...
    Je n'ai pas tout compris, mais si on savait comment tu rentres tes données géométriques, ça aiderait peut-être...
    Tu parlais d'appliquer un coefficient dans ton premier post, tu l'appliques où? sur quoi? à quel moment? de quelle manière?

    Donne des précisions... sinon... on va être flou nous aussi!
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    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 540
    Par défaut
    Citation Envoyé par plegat Voir le message

    C'est flou...
    non son problème est parfaitement explicite

    Citation Envoyé par hwoarang Voir le message
    Mais quand je tourne (avec de simples rotations) progressivement, je vois un tremblements de mes objets.
    Merci
    en fait d'après ce que tu dis tu as un problème de scintillement ( flickering) en anglais.
    C'est à dire que la carte graphique ou le CPU n'a pas assez le temps de calculer les transformations nécessaires ( rotation,translation et mise à l'échelle sur les matrices ) sur les objets ainsi que les calculs sur les éclairages.
    ( attention je ne connais pas trop Open GL mais plutot un peu Direct 3d )
    Donc les solutions serait
    1-de définir une zone de vue que l'on appelle frustrum en anglais ce qui permet de calculer l'affichage des objets seulement nécessaires à la scène.
    Les objets qui ne rentrent pas dans la zone de vision de la caméra ne sont pas calculés ou bien partiellement.

    2-joueur avec le double ou triple tamponnage ; ma carte vidéo 3d permet cela mais c'est pas dit que cela fonctionne avec toutes les cartes surtout les plus anciennes moins puissantes.

    3-faire un arbre de partionnement de l'espace qui permet de calculer les surfaces visibles de la scène.

    Je te conseille de prendre les sources du moteur 3d Irrlicht3d tu as tout le code source nécessaire pour cela ( frustrum, bsp tree..) ce qui permet de t'inspirer.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 399
    Par défaut
    Bah pour moi scintillement et tremblement, c est clairement pas la meme chose.

    Pourrais tu poster le code de ta rotation ? Comment tu updates ta matrice, comment tu l appliques a tes mesh...

    Je n ai pas trop compris pourquoi tu changais ta matrice de projection en temps reel non plus en fait.
    SPARK
    Moteur de particule C++ opensource avec modules de rendu OpenGL, Irrlicht et SFML

Discussions similaires

  1. insérer du 3ds dans opengl + collisions + tout quoi ;)
    Par Darknicosh dans le forum OpenGL
    Réponses: 5
    Dernier message: 22/04/2005, 15h14
  2. Objets 3Ds Max dans OpenGL
    Par Deedier dans le forum OpenGL
    Réponses: 5
    Dernier message: 24/03/2005, 14h21
  3. comment savoir définir les figure dans opengl
    Par romainhoarau2764 dans le forum OpenGL
    Réponses: 1
    Dernier message: 05/03/2005, 19h30
  4. Intégration 3DS dans OPENGL
    Par clara dans le forum OpenGL
    Réponses: 3
    Dernier message: 28/12/2004, 17h39
  5. Tableau de vertex dans OpenGL
    Par Guizmo57 dans le forum OpenGL
    Réponses: 5
    Dernier message: 11/04/2004, 09h15

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