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

Qt Discussion :

Multiples GraphicsViews avec OpenGL [Graphics View]


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de bobyboby
    Inscrit en
    Septembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 108
    Par défaut Multiples GraphicsViews avec OpenGL
    Coucou,

    J'essaie de faire un programme qui se présente sous la forme d'une GraphicsScene (3D avec openGL) visualisée par 4 graphicsViews séparées par des splitters(à la manière des logiciels de 3D, vue de face vue de profil vue de haut et vue 3D). Je m'inspire de l'exemple "40000 chips" de Qt, mais avec de la 3D.

    1ere chose : en utilisant openGL avec plusieurs graphics view, ca rame pas mal, encore plus quand je resize les views (visible aussi sur l'exemple de Qt). Il est possible d'améliorer ça? un update plus uefficace peut etre?

    2e chose : quand je resize mes vues ca modifie la perspective OpenGl et mes items sont soit déformés, soit ne restent pas au milieu de la scene. Comment faire? Je pensais defnir le viewport en fonction des dimensions de la GraphicsView mais je sais pas comment recuperer ces infos.

    3e chose : Comment faire pour avoir angles de vue differents d'une meme scene ??sachant que GraphicsView ne prevoit que des rotations sur l'axe des Z il me semble donc impossible de faire une vue de face, de haut, de coté et une vue en perspective.

    VOILA le débat est ouvert, toute idée est la bienvenue!

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    Salut,

    1 : pour l'optimisation de l'affichage, voir ce sujet : http://www.developpez.net/forums/d85...iew-qglwidget/, il contient pas mal d'infos utiles

    2 : QGraphicsView hérite de QFrame qui hérite d'un QWidget, tu peux donc récupérer sa dimension (frameRect)

    3 : Le problème des différentes vues dans la scène 3D n'est pas à chercher dans les classes Qt mais doit être réalisé "à la main" avec OpenGL

  3. #3
    Membre actif Avatar de bobyboby
    Inscrit en
    Septembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 108
    Par défaut
    Je m'embrouille un peu... Est ce qu'une méthode correcte serait de creer un myGLWidget qui herite de QGLWidget, de réimplementer le initGL, resizeGL et PaintGL, et de definir ce widget comme viewport de ma GraphicsView?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    Je pense que oui mais je n'ai personnelement jamais testé l'ajout d'un GLWidget dans une GraphicsView, il va falloir l'avis de plus experts

  5. #5
    Membre actif Avatar de bobyboby
    Inscrit en
    Septembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 108
    Par défaut
    Merci Jo j'ai un peu avancé!

    Je me réponds à moi même,

    Quand on defni le viewport de la View avec un QGLWidget, pas besoin de réimplémenter, le viewport du widget s'adapte aux dimensions de la fenetre, le redimensionnement se fait bien. J'ai appelé les initialisations d'openGL en réimplementant la methode scene::drawBackground() de la QGraphicsScene. Le reste de l'openGL se fait en implémentant la methode graphicsItem::paint() des items de la scene.

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

Discussions similaires

  1. Probleme avec OpenGL
    Par Sh. dans le forum OpenGL
    Réponses: 3
    Dernier message: 04/11/2004, 12h48
  2. Boite de dialogue avec opengl
    Par inddzen dans le forum OpenGL
    Réponses: 3
    Dernier message: 23/04/2004, 20h25
  3. Erreurs IIS avec Multiples Frames avec xmlrad
    Par powerlog dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/07/2003, 13h15
  4. interface utilisateur avec OpenGL
    Par demis20 dans le forum OpenGL
    Réponses: 6
    Dernier message: 03/10/2002, 12h27

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