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 :

Sauvegarde d'une fenètre opengl contenue dans un composant invisible


Sujet :

OpenGL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 190
    Points : 179
    Points
    179
    Par défaut Sauvegarde d'une fenètre opengl contenue dans un composant invisible
    Bonjour à tous,

    Je souhaite enregistrer le contenu d'une fenètre openGL dans un fichier bitmap. Jusque là, pas de problème, en utilisant glReadPixels.
    Seulement, cette oppération est effectuée à partir d'une fenètre OpenGL posée sur une TForm invisible. Avec 99.99% des cartes graphiques, le resultat obtenu est correct, dans les autres cas, je me retrouve avec un fichier bitmap noire...
    Il y a quelques mois, le problème a été 'contré' pour les NVidia Quadro, en utilisant un buffer auxiliaire. Malheureseument, le problème est revenu et cette fois avec une NVidia Geforce 7800, et l'utilisation des buffers auxiliaires n'y change rien...

    Comment pourrais-je résoudre ce problème? Une idée (parceque là, je séche!!)?

    Cordialement,
    Benjamin

  2. #2
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 527
    Points : 5 195
    Points
    5 195
    Par défaut
    si tu as accès à l'extension des FBO, cela devrait résoudre ton problème

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 190
    Points : 179
    Points
    179
    Par défaut
    Bonsoir,

    Merci. Oui, j'ai accés au FBO, et d'ailleur cela est implémenté dans mon moteur graphique.
    Par contre, je ne l'ai toujours pas utilisé pour réaliser ma préview. Je ne sais pas trop comment m'y prendre, puisque jusqu'à présent, avec glReadPixels, je lisais le contenu d'un buffer (back ou auxiliaire). Il faut enregistrer la texture, mais comment?
    Peux-tu m'indiquer la voie à suivre s'il te plait?
    Merci d'avance!

    Cordialement,
    Benjamin

    PS.: les problèmes rencontrés sont apparus sur GeForce 7800 et Quadro. Des cartes qui ont effectivement l'extension FBO.

    PS 2: sur les cartes ATI ayant l'extension FBO, les résultats sont trés mauvais. La fréquence d'affichage est trés faible, pire qu'en mode DIB. Est-ce normal, ou ai-je fait une erreur dans l'initialisation, qui se révèle avec ces cartes?

    PS 3: étant donné qu'en mode DIB, la preview est correct avec ces cartes, il est certain que si j'arrive à la faire à partir du FBO, cela fonctionnera. Du moins, j'en suis persuadé, enregistrer un bitmap ou une texture, ça doit revenir au même, non?

Discussions similaires

  1. Intégration d'une fenêtre opengl dans un winform C#
    Par vinch999 dans le forum OpenGL
    Réponses: 3
    Dernier message: 16/12/2010, 11h09
  2. Intégrer une fenêtre OpenGL dans un contenu flash
    Par claustre dans le forum Intégration
    Réponses: 0
    Dernier message: 18/05/2008, 08h50
  3. Réponses: 17
    Dernier message: 02/08/2006, 15h32
  4. [VBA-E] Savoir si une cellule est contenue dans une plage
    Par psych0o0 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/05/2006, 14h12

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