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 :

[Textures] Problème avec glGetTexImage


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut [Textures] Problème avec glGetTexImage
    Bonjour,

    j'ai besoin, dans mon programme, de récupérer les données d'une texture, d'effectuer un travail dessus, puis de créer une nouvelle texture avec les données modifiées.

    Je fais actuellement une nouvelle version du programme...mais la texture finale est corrompue... Sachant que mon code de "traitement" des données de la texture source fonctionne (puisque je l'ai déjà utilisé dans une précédente version), je ne savais plus où chercher....et là pour tester, j'ai essayé de:
    1 - Recuperer les donnees de la texture source
    2 - Recreer la seconde texture directement avec les données non modifiées

    Et là, à mon grand étonnement, c'est corrompu aussi.

    Voilà le code pour le test décrit ci-dessus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    short width				= m_texture1->Width;
    short height			= m_texture1->Height;
    GLubyte* sourceBuffer	= new GLubyte[width*height*4*sizeof(GLubyte)];
     
    // Get source buffer
    glEnable(GL_TEXTURE_2D);			
    glBindTexture(GL_TEXTURE_2D, m_texture1->TextureID );
    glGetTexImage(GL_TEXTURE_2D, 0, GL_RGBA, GL_UNSIGNED_BYTE, sourceBuffer);
     
    // create new texture
    m_texture2->Width	= width;
    m_texture2->Height	= height;
    glGenTextures(1, &m_texture2->TextureID);				
    glBindTexture(GL_TEXTURE_2D, m_texture2->TextureID );
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, sourceBuffer);
    Je ne sais plus trop où chercher... je pensais que ca avait peut être à voir avec glPixelStorei(GL_PACK / UNPACK_ALIGNEMENT) mais mes tests n'ont rien donné...

    Vos idées sont les bienvenues, merci d'avance!

  2. #2
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Re,

    pfff y a des jours vraiment....

    en fait la différence entre la précédente et la nouvelle version est que mon loader de textures crée des versions mipmapées des textures par défaut.

    En remplacant le code de création de ma texture 1 par une texture non filtrée, comme suit, l'exemple de mon post précédent fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    glTexImage2D(GL_TEXTURE_2D, 0, glTexture->InternalFormat, glTexture->Width, glTexture->Height, 
    									0, glTexture->Format, GL_UNSIGNED_BYTE, glTexture->Texels);
    désolé si certains ont perdu du temps là dessus. En tout cas maintenant je saurai que les glGetTexImage sur des textures construites avec glBuild2DMipMaps, ca peut poser des problèmes...

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

Discussions similaires

  1. Problème avec pmNotXor affichage de Texture
    Par Gilbert Geyer dans le forum Langage
    Réponses: 6
    Dernier message: 11/09/2010, 16h39
  2. Raccord de textures, problème avec cartes NVidia
    Par Invité(e) dans le forum OpenGL
    Réponses: 10
    Dernier message: 25/06/2010, 10h04
  3. Problème avec les textures
    Par Letinono dans le forum CUDA
    Réponses: 1
    Dernier message: 07/07/2009, 16h06
  4. Réponses: 1
    Dernier message: 25/06/2007, 22h59
  5. Textures : problème avec glBindTexture
    Par Xander51 dans le forum OpenGL
    Réponses: 14
    Dernier message: 24/05/2007, 02h52

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