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

Discussion :

Qt et OpenGL : compilations séparées

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Dev
    Inscrit en
    Mai 2009
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Mai 2009
    Messages : 257
    Par défaut Qt et OpenGL : compilations séparées
    Bonjour, je développe actuellement une petite application avec OpenGl et et je vais bientôt avoir besoin d'une GUI

    J'aimerais cependant avoir le choix de la GUI selon le contexte (GUI native, portable, embarquée...) et donc pouvoir "switcher" entre les GUI disponibles au démarrage

    de façon à ce que je puisse compiler d'un côté mon application OpenGL et de l'autre côté la GUI; les compilations seraient donc séparées, et je n'aurais aucune trace de code spécifique à la GUI dans mon application

    Se pose le problème de la boucle d'affichage; elle serait en toute logique placée côté GUI, et ferait appel à des fonctions de l'application via une interface et "récupèrerait" les frames produites par OpenGL; l'application serait sous forme de dll

    Ma question est, cela est il possible avec QTGui ? Je n'ai pas trouvé de discussion à propos du découplage Qt/OpenGL, j'aimerais donc avoir des précisions avant de me lancer

    Merci

  2. #2
    Membre expérimenté

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2006
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 281
    Par défaut
    Bonjour,

    Si je comprend bien, la "GUI" serait le cadre et la partie OpenGl serait le tableau.
    J'imagine deux solutions :
    * il faudrait que l'ensemble OpenGl propose une forme de fonction d'initialisation qui prendrait en paramètre un contexte pour dessiner.
    * La GUI récupère de façon périodique une image rendu par OpenGl
    Ces deux idées sont complètement indépendantes de Qt.

    Par contre comme Qt est relativement multi-plateforme, il est tout à fait possible de dessiner en OpenGl dans un widget Qt via un QGLWidget. Pour plus d'infos :
    http://qt.developpez.com/doc/4.6/qglwidget/

  3. #3
    Membre très actif
    Profil pro
    Dev
    Inscrit en
    Mai 2009
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Mai 2009
    Messages : 257
    Par défaut
    merci pour votre réponse

    * il faudrait que l'ensemble OpenGl propose une forme de fonction d'initialisation qui prendrait en paramètre un contexte pour dessiner.
    ce serait un contexte OpenGl généré par Qt puis passé à mon application OpenGL ?

    La GUI récupère de façon périodique une image rendu par OpenGl
    j'imagine que cela entraîne une baisse de performance due au blitting des images dans la fenetre Qt (plusieurs dizaines voire centaine par seconde)
    et comment maintenir la même synchronisation qu'avec une rendu OpenGL "normal" ?

    Par contre comme Qt est relativement multi-plateforme, il est tout à fait possible de dessiner en OpenGl dans un widget Qt via un QGLWidget
    j'y ai bien sûr pensé mais elle induit un couplage entre les deux parties que je veux éviter
    (mais ce ne sera peut pas possible sans sacrifices j'ai l'impression )

  4. #4
    Membre expérimenté

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2006
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 281
    Par défaut
    Dans l'ordre :

    - Oui. Par contre ne connaissant pas plus OpenGl que ça, je ne peux donner que le concept de l'idée...
    J'ai déjà fait ça avec SDL : on récupère l'identifiant de la fenêtre et on le passe en argument à l'initialisation de SDL. Ce dernier dessine alors à l'intérieur de la fenêtre Qt. Ca marche plutôt bien.

    - Il est clair qu'au niveau perf c'est pas ça... Et si il y a un quelconque besoin d'interaction, ça risque d'être compliqué. Mauvaise idée donc.

    - Rien n'empêche une séparation Qt / OpenGl. Il faudra peut être juste qu'il y ait plus de point d'échange qu'initialement prévu.

Discussions similaires

  1. Compilation séparée ?
    Par kromartien dans le forum C
    Réponses: 8
    Dernier message: 22/04/2007, 10h41
  2. Compilation séparée avec devc++
    Par javamax dans le forum Dev-C++
    Réponses: 6
    Dernier message: 08/02/2007, 18h56
  3. Compilation séparée
    Par oliv928 dans le forum Dev-C++
    Réponses: 6
    Dernier message: 02/01/2007, 17h41
  4. Compilation séparée sous devcpp
    Par Mic75 dans le forum Dev-C++
    Réponses: 1
    Dernier message: 23/08/2006, 15h33
  5. Compilation séparée avec dev C/C++
    Par benjiprog dans le forum Dev-C++
    Réponses: 5
    Dernier message: 07/11/2005, 18h26

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