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 :

Texture chargee qui apparait toute blanche


Sujet :

OpenGL

  1. #1
    Membre habitué
    Avatar de barthelv
    Inscrit en
    Mars 2003
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 267
    Points : 126
    Points
    126
    Par défaut Texture chargee qui apparait toute blanche
    Bonjour,

    J'utilise le tutorial de nehe.gamedev.net dans sa version GameGlut suivant :

    http://nehe.gamedev.net/data/lessons....asp?lesson=10

    Mais j'ai legerement modifie le code pour pouvoir charger une liste de textures plutot qu'une et a chaqe fois je file la largeur de la texture. Or si celle ci fait 256 comme dans l'exemple, cela fonctionne bien, mais pas 1000...

    Je remets ici la fonction de chargement de l'image.

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    bool load_rgb_image(const char* file_name, int w, int h, RGBIMG* refimg)
    {
    	GLuint   sz;    // Our Image's Data Field Length In Bytes
    	FILE*    file;  // The Image's File On Disk
    	long     fsize; // File Size In Bytes
    	GLubyte* p;     // Helper Pointer
     
    	// Update The Image's Fields
    	refimg->w = (GLuint) w;
    	refimg->h = (GLuint) h;
    	sz = (((3*refimg->w+3)>>2)<<2)*refimg->h;
    	refimg->data = new GLubyte [sz];
    	if (refimg->data == NULL)
        return false;
     
    	// Open The File And Read The Pixels
    	file = fopen(file_name , "rb");
    	if(!file)
        return false;
    	fseek(file, 0L, SEEK_END);
    	fsize = ftell(file);
    	if (fsize != (long)sz)
      {
    		fclose(file);
    		return false;
    	}
    	fseek(file, 0L, SEEK_SET);
    	p = refimg->data;
    	while (fsize > 0)
      {
    		fread(p, 1, 1, file);
    		p++;
    		fsize--;
    	}
    	fclose(file);
     
      return true;
    }
    Qu'est-ce qui peut faire que l'image apparait blanche a l'ecran ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 63
    Points : 77
    Points
    77
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mais j'ai legerement modifie le code pour pouvoir charger une liste de textures plutot qu'une et a chaqe fois je file la largeur de la texture. Or si celle ci fait 256 comme dans l'exemple, cela fonctionne bien, mais pas 1000...
    OpenGL travaille avec des textures qui ont des largeurs et longueur en puissance de 2. Exemple : 128*128, 256*256...

    Pour ton probleme de texture qui apparait blanc, vérifies si tu rentres pas dans ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (fsize != (long)sz)
      {
          fclose(file);
          return false;
       }

  3. #3
    Membre habitué
    Avatar de barthelv
    Inscrit en
    Mars 2003
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 267
    Points : 126
    Points
    126
    Par défaut
    Non je ne rentre pas dans cette ligne de code, mais par contre effectivement 1000 n'est pas un multiple de 2, je vais donc essayer avec 1024.


    EDIT : Cela venait bien de la, avec des tailles de 1024 cela fonctionne. Merci beaucoup !

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 04/08/2011, 21h21
  2. JScrollPane qui apparait et disparait tout le temps
    Par bankette dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 30/05/2007, 23h51
  3. [Swing] JPanel avec sa JScrollBar qui scrolle toute seule
    Par chcoust dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 22/11/2006, 14h37
  4. un paramètre qui sélectionnerait tout?
    Par Danae dans le forum Langage SQL
    Réponses: 5
    Dernier message: 13/07/2005, 15h29
  5. CSS : un lien qui prend toute une ligne d'un tableau.
    Par pmithrandir dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 20/04/2005, 16h52

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