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 :

Manipulateurs OpenGL ou Qt ?


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 46
    Par défaut Manipulateurs OpenGL ou Qt ?
    Hello tout le monde,

    Dans mon application, une image est affichée et l'utilisateur peut sélectionner des parties de l'image au moyen de courbes de Bézier. Ces zones sont ensuite exportées vers d'autres fichiers d'images.

    Mon image est affichée sur un quad OpenGL texturé : je dois appliquer quelques traitements à cette image et j'utilise pour ça des shaders OpenGL.

    Quelle serait selon vous la meilleure façon d'afficher mes manipulateurs de courbes :
    - utiliser OpenGL et tout refaire à la main ?
    - utiliser Qt au dessus d'OpenGL ?

    La version tout Qt semble intéressante parceque je peux directement utiliser les primitives QPainterPath. D'un autre côté, je vais de toute façon avoir à réimplémenter le code d'extraction des zones d'images puisque pour des raisons de performances celui-ci sera implémenté en shaders OpenGL.

    Votre avis : tout OpenGL ou un mix Qt / OpenGL ?

    Merci beaucoup !

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035

  3. #3
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Salut,

    +1 pour l'utilisation d'un painter Qt sur ton rendu opengl. Tu n'auras pas nécessairement à tout ré-écrire pour extraire la portion d'image:
    1. Tu utilises ce FBO pour texturer un quad pour avoir ta visualisation
    2. Tu crées ton QPainterPath et le dessine en superposition, selon le 2nd lien donné par Yan
    3. Tu utilises ton QPainterPath sur un QPainter destiné à modifier un QBitmap (couleur de fond: noir, couleur utilisé pour rendre la/les zone(s) pleine(s) du path: blanc)
    4. tu utilises le bitmap généré en 4. pour faire un masque que tu appliques à un QPixmap dans lequel tu auras rendu précédemment ton image
    5. Tadaaaa, sans recoder le moindre interpolateur, tu extrais la portion qui t'intéresse !


    Edit: et puisque les manips sur tes images se feront par des shaders si j'ai bien compris, tu fais le rendu dans un FBO que tu utilises tant pour l'affichage que pour l'obtention de l'image modifiée pour l'étape #5

Discussions similaires

  1. Directx ou opengl
    Par scorpiwolf dans le forum DirectX
    Réponses: 13
    Dernier message: 07/02/2003, 08h29
  2. interface utilisateur avec OpenGL
    Par demis20 dans le forum OpenGL
    Réponses: 6
    Dernier message: 03/10/2002, 12h27
  3. OpenGL et *.3ds
    Par tintin22 dans le forum OpenGL
    Réponses: 4
    Dernier message: 06/05/2002, 13h51
  4. OpenGL ou DirectX
    Par Nadir dans le forum DirectX
    Réponses: 6
    Dernier message: 02/05/2002, 12h48
  5. Opengl -- Les surfaces
    Par Anonymous dans le forum OpenGL
    Réponses: 2
    Dernier message: 02/05/2002, 10h14

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