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 ?