1

Je suis en train de faire une application en OpenGL, et j'ai besoin de sauver le graphique 3D dans un format d'image BMP (une capture d'ecran quoi...)
C'est possible ou pas ? et comment ?

C'est tres urgent, donc si quelqu'un a la solution , il peut m'ecrire ici : [email]45li201@gadz.org[/email]
Ancien pseudo : lolo

2

il faut utiliser glReadPixels pour lire directement les pixels dans la carte graphique.
si tu peux te donner la peine d'utiliser DevIL (http://www.imagelib.org, je te conseille vivement de l'utiliser), l'opération est alors très simple :
initialisation complète de DevIL :
	ilInit();
	iluInit();
	ilEnable(IL_ORIGIN_SET);
	ilOriginFunc(IL_ORIGIN_UPPER_LEFT);


création d'une image :
	ILuint id;
	ilGenImages(1, &id);
	ilBindImage(id);
	ilTexImage(ScreenWidth, ScreenHeight, 1, 3, IL_RGB, IL_UNSIGNED_BYTE, NULL);


copie du framebuffer d'OpenGL actuellement affiché vers l'image :
	glReadPixels(0, 0, ScreenWidth, ScreenHeight, GL_RGB, GL_UNSIGNED_BYTE, ilGetData());


sauvegarde de l'image dans un fichier :
	ilSaveImage("file.ext");

destruction de l'image :
	ilDeleteImages(1, &id);


sachant que "file.ext" peut être n'importe quel type d'image supporté par DevIL, et il y en a un très grand nombre. grin
So much code to write, so little time.

3

merci, v voir de ce coté la
Ancien pseudo : lolo