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 :

Récupérer une texture via un PBO


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut Récupérer une texture via un PBO
    Bonjour,

    Je désirerais lire une texture à partir du CPU. La meilleure façon de la "ramener" serait de passer par un PBO. Jusqu'ici apparemment ça tourne, cependant je ne sais pas comment faire pour copier/lier ma texture dans/à mon PBO. Auriez-vous une idée? Dois-je passer par glGetTexImage, glReadPixels, ... ?

    Merci d'avance!

  2. #2
    Membre éclairé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut
    Un peu de code pour continuer :
    Je fais un rendu dans un FBO et je pourrai donc, à la place de récupérer la texture, récupérer le buffer!

    J'attache une texture dans l'init :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, assTex.getID(), 0);
    Je commence le rendu dans le FBO avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fboID);
    J'essais de récupérer le buffer avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      glReadBuffer(GL_COLOR_ATTACHMENT0_EXT);
      glBindBufferARB(GL_PIXEL_PACK_BUFFER_ARB, texBuffer); //mon PBO
      glReadPixels(offsetX, offsetY, w, h, mode, depth, 0);
    Le code plante alors à glReadPixel, il n'y a pas d'erreur OpenGL avant cet appel...


  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
    l'utilisation des FBO rend celle des PBO obsolète il me semble

  4. #4
    Membre éclairé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358

  5. #5
    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
    ok , j'avais lu sur divers forum que les PBO étaient déconseillé et qu'il fallait utiliser les FBO à la place lorsque l'on veut faire une lecture/écriture d'une texture rapidement

    mais sans doute veux tu faire autre chose

    Edith : j'ai confondu PBO et PBuffers, désolé...

  6. #6
    Membre éclairé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut
    Bon j'arrive à avancer (un peu) mais je bloque encore sur la récupération du rendu...

    J'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glReadBuffer(GL_COLOR_ATTACHMENT0_EXT)
    (là où écrit mon FBO). Cependant je ne récupère pas la scène écrite mais l'état de la texture qui me sert dans cette scène...


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

Discussions similaires

  1. [XL-2003] Récupérer une valeur via COM (avec une macro sur la cellule)
    Par a028762 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/06/2010, 17h23
  2. [Généralités] récupérer une variable via MCU
    Par tofinou44 dans le forum WinDev
    Réponses: 3
    Dernier message: 10/03/2010, 22h03
  3. [Shellcode] Récupérer une string via "pop edi"
    Par homeostasie dans le forum x86 32-bits / 64-bits
    Réponses: 14
    Dernier message: 19/06/2009, 13h20
  4. [Reflexion] Comment récupérer une class via son chemin python
    Par anthyme dans le forum Général Python
    Réponses: 2
    Dernier message: 27/12/2007, 13h16
  5. Récupérer une valeur via un autre script
    Par Olivier Regnier dans le forum Langage
    Réponses: 2
    Dernier message: 14/11/2007, 10h12

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